Class AbstractSocketProtocolHandler

java.lang.Object
com.icegreen.greenmail.server.AbstractSocketProtocolHandler
All Implemented Interfaces:
ProtocolHandler, Runnable
Direct Known Subclasses:
ImapHandler, Pop3Handler, SmtpHandler

public abstract class AbstractSocketProtocolHandler extends Object implements ProtocolHandler
Provides shared helpers for handling a client socket connection.
  • Field Details

    • log

      protected final org.slf4j.Logger log
    • socket

      protected final Socket socket
      The TCP/IP socket over which the IMAP interaction is occurring
    • quitting

      protected volatile boolean quitting
    • closeMonitor

      protected final Object closeMonitor
  • Constructor Details

    • AbstractSocketProtocolHandler

      protected AbstractSocketProtocolHandler(Socket socket)
  • Method Details

    • isQuitting

      public boolean isQuitting()
      Preparing for closing handler connection?
      Returns:
      true, if should be closed.
    • setQuitting

      public void setQuitting(boolean quitting)
      Signal for closing handler.
      Parameters:
      quitting - true, if closing in progress.
    • close

      public void close()
      Resets the handler data to a basic state.
      Specified by:
      close in interface ProtocolHandler
    • getSoTimeout

      protected long getSoTimeout()
      Gets current socket SO_TIMEOUT
      Returns:
      the timeout or -1 if unable to retrieve.