Logo FSBarV1_Archived

ScriptingService Type

 The hub-side gRPC service implementation. Constructed once per
 hub process; registered into the Kestrel host via
 `app.MapGrpcService()` in `Program.fs`.

 Constructor dependencies:
   * `sessions` — the hub's one-and-only `SessionManager`.
   * `events` — hub event sink for `ScriptingClient{Connected,Detached}`
      and `DiagnosticsLine` emissions.
   * `unitDefs` — thunk that returns the *currently* loaded
      `UnitDefCache`. Caller threads a closure that reads from
      the active `SessionManager.State.BarClient.GameState.UnitDefs`
      when running, else a cached / empty fallback.
   * `install` / `bundled` / `port` — filled into
     `GetSessionStatusResponse`.
   * `state` — authoritative hub-UI state store (feature 040).
     Lobby-related RPCs (`ConfigureLobby`, `LaunchSession`) read
     and write through this store so the local GUI and gRPC
     clients never drift.
   * `log` — feature-042 Hub log bus. `StreamHubLog` attaches to
     this; every emit site reads back through it. Additive to the
     feature-040 constructor.
   * `opts` — fan-out tunables.

Constructors

Constructor Description

ScriptingService(sessions, events, busEvents, unitDefs, install, bundled, port, state, renderer, overlays, log, opts)

Full Usage: ScriptingService(sessions, events, busEvents, unitDefs, install, bundled, port, state, renderer, overlays, log, opts)

Parameters:
Returns: ScriptingService
sessions : SessionManager
events : IHubEventSink
busEvents : IObservable<HubEvent>
unitDefs : unit -> UnitDefCache
install : BarInstall
bundled : BundledProxyInfo
port : int
state : T
renderer : T
overlays : T
log : T
opts : ScriptingHubOptions
Returns: ScriptingService

Instance members

Instance member Description

this.Clients

Full Usage: this.Clients

Returns: ConnectedClientInfo list

Snapshot of the currently-connected clients. Used by the gRPC tab for the roster display and by `GetSessionStatus` to populate `clients`.

Returns: ConnectedClientInfo list

this.OverflowDetachCount

Full Usage: this.OverflowDetachCount

Returns: int

Count of clients that have been detached with `OverflowDropLimit` since the process started. Exposed for the Settings tab's diagnostics counter.

Returns: int

Inherited members

Inherited from ServiceBase

Instance members

Instance member Description

this.ClearLayers

Full Usage: this.ClearLayers

Parameters:
Returns: Task<ClearLayersResponse>
Modifiers: abstract

this.ConfigureLobby

Full Usage: this.ConfigureLobby

Parameters:
Returns: Task<ConfigureLobbyResponse>
Modifiers: abstract

this.DeleteLayer

Full Usage: this.DeleteLayer

Parameters:
Returns: Task<DeleteLayerResponse>
Modifiers: abstract

this.DeletePreset

Full Usage: this.DeletePreset

Parameters:
Returns: Task<DeletePresetResponse>
Modifiers: abstract

this.ForceEndMatch

Full Usage: this.ForceEndMatch

Parameters:
Returns: Task<ForceEndMatchResponse>
Modifiers: abstract

this.GetCornersHeightmap

Full Usage: this.GetCornersHeightmap

Parameters:
Returns: Task<CornersHeightmapResponse>
Modifiers: abstract

this.GetHeightmap

Full Usage: this.GetHeightmap

Parameters:
Returns: Task<HeightmapResponse>
Modifiers: abstract

this.GetHubSettings

Full Usage: this.GetHubSettings

Parameters:
Returns: Task<GetHubSettingsResponse>
Modifiers: abstract

this.GetHubState

Full Usage: this.GetHubState

Parameters:
Returns: Task<HubStateSnapshot>
Modifiers: abstract

this.GetLosMap

Full Usage: this.GetLosMap

Parameters:
Returns: Task<LosMapResponse>
Modifiers: abstract

this.GetMapInfo

Full Usage: this.GetMapInfo

Parameters:
Returns: Task<GetMapInfoResponse>
Modifiers: abstract

this.GetRadarMap

Full Usage: this.GetRadarMap

Parameters:
Returns: Task<RadarMapResponse>
Modifiers: abstract

this.GetRenderFrame

Full Usage: this.GetRenderFrame

Parameters:
Returns: Task<GetRenderFrameResponse>
Modifiers: abstract

this.GetResourceMap

Full Usage: this.GetResourceMap

Parameters:
Returns: Task<ResourceMapResponse>
Modifiers: abstract

this.GetSessionStatus

Full Usage: this.GetSessionStatus

Parameters:
Returns: Task<GetSessionStatusResponse>
Modifiers: abstract

this.GetSlopeMap

Full Usage: this.GetSlopeMap

Parameters:
Returns: Task<SlopeMapResponse>
Modifiers: abstract

this.GetUnitDef

Full Usage: this.GetUnitDef

Parameters:
Returns: Task<GetUnitDefResponse>
Modifiers: abstract

this.GetUnitDefExtended

Full Usage: this.GetUnitDefExtended

Parameters:
Returns: Task<GetUnitDefExtendedResponse>
Modifiers: abstract

this.InstallProxy

Full Usage: this.InstallProxy

Parameters:
Returns: Task<InstallProxyResponse>
Modifiers: abstract

this.LaunchSession

Full Usage: this.LaunchSession

Parameters:
Returns: Task<LaunchSessionResponse>
Modifiers: abstract

this.ListLayers

Full Usage: this.ListLayers

Parameters:
Returns: Task<ListLayersResponse>
Modifiers: abstract

this.ListMaps

Full Usage: this.ListMaps

Parameters:
Returns: Task<ListMapsResponse>
Modifiers: abstract

this.ListMetalSpots

Full Usage: this.ListMetalSpots

Parameters:
Returns: Task<MetalSpotsResponse>
Modifiers: abstract

this.ListPresets

Full Usage: this.ListPresets

Parameters:
Returns: Task<ListPresetsResponse>
Modifiers: abstract

this.ListUnits

Full Usage: this.ListUnits

Parameters:
Returns: Task<ListUnitsResponse>
Modifiers: abstract

this.LoadPreset

Full Usage: this.LoadPreset

Parameters:
Returns: Task<LoadPresetResponse>
Modifiers: abstract

this.Pause

Full Usage: this.Pause

Parameters:
Returns: Task<PauseResponse>
Modifiers: abstract

this.PutLayer

Full Usage: this.PutLayer

Parameters:
Returns: Task<PutLayerResponse>
Modifiers: abstract

this.RefreshProxyStatus

Full Usage: this.RefreshProxyStatus

Parameters:
Returns: Task<RefreshProxyStatusResponse>
Modifiers: abstract

this.Resume

Full Usage: this.Resume

Parameters:
Returns: Task<ResumeResponse>
Modifiers: abstract

this.SavePreset

Full Usage: this.SavePreset

Parameters:
Returns: Task<SavePresetResponse>
Modifiers: abstract

this.SelectUnit

Full Usage: this.SelectUnit

Parameters:
Returns: Task<SelectUnitResponse>
Modifiers: abstract

this.SendAdminMessage

Full Usage: this.SendAdminMessage

Parameters:
Returns: Task<SendAdminMessageResponse>
Modifiers: abstract

this.SendCommand

Full Usage: this.SendCommand

Parameters:
Returns: Task<SendCommandResponse>
Modifiers: abstract

this.SendCommandBatch

Full Usage: this.SendCommandBatch

Parameters:
Returns: Task<SendCommandBatchResponse>
Modifiers: abstract

this.SetActiveTab

Full Usage: this.SetActiveTab

Parameters:
Returns: Task<SetActiveTabResponse>
Modifiers: abstract

this.SetCamera

Full Usage: this.SetCamera

Parameters:
Returns: Task<SetCameraResponse>
Modifiers: abstract

this.SetEngineSpeed

Full Usage: this.SetEngineSpeed

Parameters:
Returns: Task<SetEngineSpeedResponse>
Modifiers: abstract

this.SetHubSettings

Full Usage: this.SetHubSettings

Parameters:
Returns: Task<SetHubSettingsResponse>
Modifiers: abstract

this.SetVizAttribute

Full Usage: this.SetVizAttribute

Parameters:
Returns: Task<SetVizAttributeResponse>
Modifiers: abstract

this.SetVizConfig

Full Usage: this.SetVizConfig

Parameters:
Returns: Task<SetVizConfigResponse>
Modifiers: abstract

this.StopSession

Full Usage: this.StopSession

Parameters:
Returns: Task<StopSessionResponse>
Modifiers: abstract

this.StreamGameFrames

Full Usage: this.StreamGameFrames

Parameters:
Returns: Task
Modifiers: abstract

this.StreamHubLog

Full Usage: this.StreamHubLog

Parameters:
Returns: Task
Modifiers: abstract

this.StreamHubStateEvents

Full Usage: this.StreamHubStateEvents

Parameters:
Returns: Task
Modifiers: abstract

this.StreamRenderFrames

Full Usage: this.StreamRenderFrames

Parameters:
Returns: Task
Modifiers: abstract

this.ToggleOverlay

Full Usage: this.ToggleOverlay

Parameters:
Returns: Task<ToggleOverlayResponse>
Modifiers: abstract

this.ValidateLobby

Full Usage: this.ValidateLobby

Parameters:
Returns: Task<ValidateLobbyResponse>
Modifiers: abstract

Static members

Static member Description

ServiceBase.BindService(serviceBinder) (serviceImpl)

Full Usage: ServiceBase.BindService(serviceBinder) (serviceImpl)

Parameters:
serviceBinder : ServiceBinderBase
serviceImpl : ServiceBase

Type something to start searching.