Class ConnectionTransport

java.lang.Object
org.ldaptive.transport.netty.ConnectionTransport
All Implemented Interfaces:
Transport
Direct Known Subclasses:
ConnectionTransport.DualThread, ConnectionTransport.SingleThread, NioConnectionTransport

public class ConnectionTransport extends Object implements Transport
Creates netty connections using the best fit event loop group based on the operating system. See Epoll.isAvailable() and KQueue.isAvailable(). The event loop group is shutdown when the connection is closed.
  • Field Details

    • logger

      protected final org.slf4j.Logger logger
      Logger for this class.
    • numIoThreads

      private int numIoThreads
      Number of I/O threads.
    • numMessageThreads

      private int numMessageThreads
      Number of message threads.
  • Constructor Details

    • ConnectionTransport

      public ConnectionTransport()
      Creates a new connection transport.
    • ConnectionTransport

      public ConnectionTransport(int ioThreads)
      Creates a new connection transport.
      Parameters:
      ioThreads - number of threads used for I/O in the event loop group
    • ConnectionTransport

      public ConnectionTransport(int ioThreads, int messageThreads)
      Creates a new connection transport.
      Parameters:
      ioThreads - number of threads used for I/O in the event loop group
      messageThreads - number of threads for LDAP message handling in the event loop group
  • Method Details

    • getSocketChannelType

      protected Class<? extends io.netty.channel.Channel> getSocketChannelType()
      Returns the socket channel type used with the event loop group.
      Returns:
      socket channel type
    • createEventLoopGroup

      protected io.netty.channel.EventLoopGroup createEventLoopGroup(String name, int numThreads)
      Returns a new event loop group with the supplied name and number of threads.
      Parameters:
      name - of the event loop group
      numThreads - number of worker threads
      Returns:
      new event loop group
    • create

      public Connection create(ConnectionConfig cc)
      Description copied from interface: Transport
      Create a connection object. Implementations should not open a TCP socket in this method.
      Specified by:
      create in interface Transport
      Parameters:
      cc - connection configuration
      Returns:
      connection
    • toString

      public String toString()
      Overrides:
      toString in class Object