namespace SVSim.BattleNode.Protocol; /// /// String constants that show up on the wire as opaque tags. Lifting them out of /// inline string literals gives each one a single source of truth and a name that /// reads at the use site. /// internal static class WireConstants { /// SIO event name for ordered server-pushed frames (the lifecycle channel). public const string SynchronizeEvent = "synchronize"; /// SIO event name for client-emitted msg frames + their ack-responses. public const string MsgEvent = "msg"; /// SIO event name for Gungnir keepalive frames (both directions). public const string AliveEvent = "alive"; /// /// SIO event name for client-emitted hand frames (touches + skill/object selection). /// Stocked variants (SELECT_SKILL_URI, SLIDE_OBJECT_URI) carry an ack-id; /// fire-and-forget variants (TOUCH_URI, SELECT_OBJECT_URI, /// TURN_END_READY_URI) do not. The body wire shape differs from msg /// frames — see HandleHandEventAsync. /// public const string HandEvent = "hand"; /// /// Placeholder UUID we stamp on every server-originated envelope. Prod servers stamp a /// real per-request UUID; the client doesn't validate it. /// public const string ServerUuid = "node-stub"; /// Gungnir scs/ocs value the v1 server reports unconditionally. public const string OnlineStatus = "ONLINE"; }