LemonRouter. SessionTransitions
(lemon_router v0.1.0)
View Source
Pure queue/state transitions for LemonRouter.SessionCoordinator.
Summary
Functions
@spec abort_run(LemonRouter.SessionState.t(), binary(), term()) :: {:ok, LemonRouter.SessionState.t(), [LemonRouter.QueueEffect.t()]}
@spec abort_session(LemonRouter.SessionState.t(), binary(), term()) :: {:ok, LemonRouter.SessionState.t(), [LemonRouter.QueueEffect.t()]}
@spec active_down(LemonRouter.SessionState.t(), pid(), reference()) :: {:ok, LemonRouter.SessionState.t(), [LemonRouter.QueueEffect.t()]}
@spec active_down(LemonRouter.SessionState.t(), pid(), reference(), integer()) :: {:ok, LemonRouter.SessionState.t(), [LemonRouter.QueueEffect.t()]}
@spec cancel(LemonRouter.SessionState.t(), term()) :: {:ok, LemonRouter.SessionState.t(), [LemonRouter.QueueEffect.t()]}
@spec cancel_session(LemonRouter.SessionState.t(), binary(), term()) :: {:ok, LemonRouter.SessionState.t(), [LemonRouter.QueueEffect.t()]}
@spec dispatch_steer_failed(LemonRouter.SessionState.t(), binary()) :: {:ok, LemonRouter.SessionState.t(), [LemonRouter.QueueEffect.t()]}
@spec dispatch_steer_failed(LemonRouter.SessionState.t(), binary(), integer()) :: {:ok, LemonRouter.SessionState.t(), [LemonRouter.QueueEffect.t()]}
@spec steer_accepted(LemonRouter.SessionState.t(), binary()) :: {:ok, LemonRouter.SessionState.t(), [LemonRouter.QueueEffect.t()]}
@spec steer_rejected(LemonRouter.SessionState.t(), binary()) :: {:ok, LemonRouter.SessionState.t(), [LemonRouter.QueueEffect.t()]}
@spec steer_rejected(LemonRouter.SessionState.t(), binary(), integer()) :: {:ok, LemonRouter.SessionState.t(), [LemonRouter.QueueEffect.t()]}
@spec submit(LemonRouter.SessionState.t(), LemonRouter.Submission.t(), integer()) :: {:ok, LemonRouter.SessionState.t(), [LemonRouter.QueueEffect.t()]}