Table of Contents

Interface ISceneServerRuntimeData

Namespace
FishMMO.Server.Core.World.SceneServer
Assembly
FishMMO.Server.dll

Runtime data container for scene server identification and state. Provides access to scene server operational state.

public interface ISceneServerRuntimeData : IRuntimeDataContainer, IServerComponent

Properties

ExpiredSceneIdsBuffer

Reusable buffer for expired pending scene IDs during cleanup sweeps. Only used from the main thread.

List<long> ExpiredSceneIdsBuffer { get; }

Property Value

List<long>

ID

Database ID for this scene server instance.

long ID { get; set; }

Property Value

long

IsLocked

Indicates whether the scene server is locked (not accepting new connections).

bool IsLocked { get; set; }

Property Value

bool

NextPendingSceneSweepUtc

Next UTC timestamp when pending-scene cleanup is allowed.

DateTime NextPendingSceneSweepUtc { get; set; }

Property Value

DateTime

SceneDetailsValuesBuffer

Reusable buffer for iterating scene instance details. Only used from the main thread.

List<ISceneInstanceDetails> SceneDetailsValuesBuffer { get; }

Property Value

List<ISceneInstanceDetails>

SceneGroupValuesBuffer

Reusable buffer for iterating scene group value collections. Only used from the main thread.

List<Dictionary<long, ISceneInstanceDetails>> SceneGroupValuesBuffer { get; }

Property Value

List<Dictionary<long, ISceneInstanceDetails>>

ScenePulseDataBuffer

Reusable buffer for scene pulse payload data (Handle, CharacterCount). Only used from the main thread. Snapshotted before passing to async.

List<(long SceneID, int CharacterCount)> ScenePulseDataBuffer { get; }

Property Value

List<(long SceneID, int CharacterCount)>

ScenesToUnloadBuffer

Reusable buffer for scene handles queued for unloading. Only used from the main thread.

List<long> ScenesToUnloadBuffer { get; }

Property Value

List<long>

UnloadedHandlesBuffer

Reusable buffer for scene handles during unload iteration. Only used from the main thread.

List<int> UnloadedHandlesBuffer { get; }

Property Value

List<int>

Methods

EndPulse()

Atomically transitions the pulse gate from in-flight back to idle.

void EndPulse()

TryBeginPulse()

Atomically transitions the pulse gate from idle to in-flight. Returns true if this call won the race; false if a pulse is already in flight.

bool TryBeginPulse()

Returns

bool