예제 #1
0
 /// <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);
 }
예제 #3
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="context">The SMTP server session context.</param>
 internal SmtpStateMachine(SmtpSessionContext context)
 {
     _state   = SmtpStateTable.Shared[SmtpStateId.Initialized];
     _context = context;
 }