LemonRouter.SessionTransitions (lemon_router v0.1.0)

View Source

Pure queue/state transitions for LemonRouter.SessionCoordinator.

Summary

Functions

abort_run(state, run_id, reason)

abort_session(state, session_key, reason)

active_down(state, pid, mon_ref)

active_down(state, pid, mon_ref, now_ms)

cancel(state, reason)

cancel_session(state, session_key, reason)

dispatch_steer_failed(state, submission_run_id)

@spec dispatch_steer_failed(LemonRouter.SessionState.t(), binary()) ::
  {:ok, LemonRouter.SessionState.t(), [LemonRouter.QueueEffect.t()]}

dispatch_steer_failed(state, submission_run_id, now_ms)

@spec dispatch_steer_failed(LemonRouter.SessionState.t(), binary(), integer()) ::
  {:ok, LemonRouter.SessionState.t(), [LemonRouter.QueueEffect.t()]}

steer_accepted(state, submission_run_id)

steer_rejected(state, submission_run_id)

steer_rejected(state, submission_run_id, now_ms)

submit(state, submission, now_ms)