/// <summary> /// Accept the state and transition to the new state. /// </summary> /// <param name="context">The session context to use for accepting session based transitions.</param> public void Transition(SmtpSessionContext context) { _state = SmtpStateTable.Shared[_transition.Transition(context)]; }
/// <summary> /// Add the state to the table. /// </summary> /// <param name="state"></param> void Add(SmtpState state) { _states.Add(state.StateId, state); }
/// <summary> /// Constructor. /// </summary> /// <param name="context">The SMTP server session context.</param> internal SmtpStateMachine(SmtpSessionContext context) { _state = SmtpStateTable.Shared[SmtpStateId.Initialized]; _context = context; }