Definition

Member of New SMTP Block 's Chain Of Reposiblity.

Processes SMTP protocol commands one at a time.

Follows Setter Injection pattern for receiving both configuration parameters and Phoenix Blocks it depends on.

Implementation Details

New SMTP Block introspects implementing class for each of its subordinate ProtocolLet -s and deducts its

TODO: choose a way to distinguish setters for injecting configuration values from those for injecting dependencies. Alternative approaches are:

Lifecycle

New SMTP Block

New SMTP Block's JMX facility

Interfaces

Each ProtocolLet implements at least one of the following interfaces

  interface ConnectionHandler (
    RulesResponce onConnection(Socket)
  }

  interface CommandsHandler {
    RulesResponce Map getCommands()
  }

  interface CommandHandler {
    RulesResponce onCommand(...)
  }

  interface MessageHandler {
    RulesResponce onMessage(...)
  }

  RulesResponse {
    boolean getSuccess();
    SMTPResponseCode getSMTPResponseCode();
    DSNResponseCode getDSNResponseCode();
    String getMessage();
    boolean isResponseMultiline();
  }

(Compiled from FastFail and "07 Jun 2005 message on server-dev”)

SummerOfCode2005/SergeyLubinskiyFastFail/ProtocolLet (last edited 2009-09-20 22:58:47 by localhost)