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
ID
Database ID for this scene server instance.
long ID { get; set; }
Property Value
IsLocked
Indicates whether the scene server is locked (not accepting new connections).
bool IsLocked { get; set; }
Property Value
NextPendingSceneSweepUtc
Next UTC timestamp when pending-scene cleanup is allowed.
DateTime NextPendingSceneSweepUtc { get; set; }
Property Value
SceneDetailsValuesBuffer
Reusable buffer for iterating scene instance details. Only used from the main thread.
List<ISceneInstanceDetails> SceneDetailsValuesBuffer { get; }
Property Value
SceneGroupValuesBuffer
Reusable buffer for iterating scene group value collections. Only used from the main thread.
List<Dictionary<long, ISceneInstanceDetails>> SceneGroupValuesBuffer { get; }
Property Value
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
UnloadedHandlesBuffer
Reusable buffer for scene handles during unload iteration. Only used from the main thread.
List<int> UnloadedHandlesBuffer { get; }
Property Value
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()