diff --git a/internal/coordinator/coordinator.go b/internal/coordinator/coordinator.go index 58a8710..953ee98 100644 --- a/internal/coordinator/coordinator.go +++ b/internal/coordinator/coordinator.go @@ -57,12 +57,24 @@ func (c *Coordinator) Coordinate(cmd *SessionCommand) *SessionCommandResult { Result: SessionRespFound, } case SessionCmdJoin: + if c.Match == nil { + return &SessionCommandResult{ + ID: cmd.ID, + Result: SessionRespJoinError, + } + } resp := c.Match.Join(cmd.ID) return &SessionCommandResult{ ID: cmd.ID, Result: resp, } case SessionCmdLeave: + if c.Match == nil { + return &SessionCommandResult{ + ID: cmd.ID, + Result: SessionRespLeft, + } + } c.Match.Leave(cmd.ID) return &SessionCommandResult{ ID: cmd.ID,