refactor(battle-node): add frame-handler contract, context, and empty registry shim

This commit is contained in:
gamer147
2026-06-03 13:59:02 -04:00
parent 57d91236a0
commit 73d2c4e1b8
3 changed files with 67 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
namespace SVSim.BattleNode.Sessions.Dispatch;
/// <summary>Handles one (or more) inbound URI(s). Pure: returns the routes to dispatch and may
/// mutate <see cref="FrameDispatchContext.State"/> / advance <see cref="FrameDispatchContext.SenderPhase"/>,
/// but does not touch the wire. Stateless singletons live in BattleSession's registry; a single
/// handler may be registered under multiple URIs (e.g. Retire/Kill).</summary>
internal interface IFrameHandler
{
IReadOnlyList<DispatchRoute> Handle(FrameDispatchContext ctx);
}