Skip to main content

Orbit

Orbit is a scheduling framework (four layers: controller / agent / server / client) for managing dynamically created logical instances.

Location: src/component/orbit/.

Composition

PartDescription
controller/Controller service: global scheduling decisions
agent/Agent service: node-level agent
protocol/Three proto groups: client / common / server
sdk/Four SDKs: agent / client / controller / server; the server SDK ships its own dedicated Mako templates

Code Generation

The orbit server SDK uses its own templates (orbit/sdk/server/template/): handle_orbit_rpc / task_action_orbit_rpc / rpc_call_api_for_orbit, generating handle_orbit_rpc_*, task_action_orbit_rpc, and other code.

Example Service

src/orbitsvr/ demonstrates the usage of the orbit component: handle_orbit_rpc_orbitserverrpcservice (orbit server RPC handler) and task_action_echo.

Client-Side Runtime

src/component/GameSharedComponent/Orbit/ provides the client-side (e.g., UE) Orbit runtime SDK; resource/UeSource* stores the UE protocol source data.