Class UnixSocketConnector

java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.ContainerLifeCycle
org.eclipse.jetty.server.AbstractConnector
org.eclipse.jetty.unixsocket.UnixSocketConnector
All Implemented Interfaces:
org.eclipse.jetty.server.Connector, org.eclipse.jetty.util.component.Container, org.eclipse.jetty.util.component.Destroyable, org.eclipse.jetty.util.component.Dumpable, org.eclipse.jetty.util.component.Dumpable.DumpableContainer, org.eclipse.jetty.util.component.Graceful, org.eclipse.jetty.util.component.LifeCycle

@ManagedObject("Connector using UNIX Socket") public class UnixSocketConnector extends org.eclipse.jetty.server.AbstractConnector

A server-side connector for UNIX sockets.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    protected class 
     

    Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

    org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener

    Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container

    org.eclipse.jetty.util.component.Container.InheritedListener, org.eclipse.jetty.util.component.Container.Listener

    Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable

    org.eclipse.jetty.util.component.Dumpable.DumpableContainer

    Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Graceful

    org.eclipse.jetty.util.component.Graceful.Shutdown

    Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle

    org.eclipse.jetty.util.component.LifeCycle.Listener
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private jnr.unixsocket.UnixServerSocketChannel
     
    private int
     
    private final org.eclipse.jetty.io.SelectorManager
     
    private boolean
     
    private String
     
    private static final org.eclipse.jetty.util.log.Logger
     
    static final int
     

    Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

    FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING

    Fields inherited from interface org.eclipse.jetty.util.component.Dumpable

    KEY
  • Constructor Summary

    Constructors
    Constructor
    Description
    UnixSocketConnector(org.eclipse.jetty.server.Server server)
    Constructs a UnixSocketConnector with the default configuration.
    UnixSocketConnector(org.eclipse.jetty.server.Server server, int selectors)
    Constructs a UnixSocketConnector with the given number of selectors
    UnixSocketConnector(org.eclipse.jetty.server.Server server, int selectors, org.eclipse.jetty.server.ConnectionFactory... factories)
    Constructs a UnixSocketConnector with the given selectors and ConnectionFactories.
    UnixSocketConnector(org.eclipse.jetty.server.Server server, int selectors, org.eclipse.jetty.util.ssl.SslContextFactory sslContextFactory)
    Constructs a UnixSocketConnector with the given selectors and SslContextFactory.
    UnixSocketConnector(org.eclipse.jetty.server.Server server, Executor executor, org.eclipse.jetty.util.thread.Scheduler scheduler, org.eclipse.jetty.io.ByteBufferPool bufferPool, int selectors, org.eclipse.jetty.server.ConnectionFactory... factories)
    Constructs a UnixSocketConnector with the given parameters.
    UnixSocketConnector(org.eclipse.jetty.server.Server server, org.eclipse.jetty.server.ConnectionFactory... factories)
    Constructs a UnixSocketConnector with the given ConnectionFactories.
    UnixSocketConnector(org.eclipse.jetty.server.Server server, org.eclipse.jetty.util.ssl.SslContextFactory sslContextFactory)
    Constructs a UnixSocketConnector with the given SslContextFactory.
    UnixSocketConnector(org.eclipse.jetty.server.Server server, org.eclipse.jetty.util.ssl.SslContextFactory sslContextFactory, org.eclipse.jetty.server.ConnectionFactory... factories)
    Constructs a UnixSocketConnector with the given SslContextFactory and ConnectionFactories.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    accept(int acceptorID)
     
    protected void
    accepted(jnr.unixsocket.UnixSocketChannel channel)
     
    void
     
    protected void
     
    protected void
     
    int
     
    boolean
     
    org.eclipse.jetty.io.SelectorManager
     
     
     
    boolean
     
    newEndPoint(SelectableChannel channel, org.eclipse.jetty.io.ManagedSelector selector, SelectionKey key)
     
    protected org.eclipse.jetty.io.SelectorManager
    newSelectorManager(Executor executor, org.eclipse.jetty.util.thread.Scheduler scheduler, int selectors)
     
    void
     
    void
    setAcceptQueueSize(int acceptQueueSize)
     
    void
    setReuseAddress(boolean reuseAddress)
     
    void
     
     

    Methods inherited from class org.eclipse.jetty.server.AbstractConnector

    addConnectionFactory, addFirstConnectionFactory, addIfAbsentConnectionFactory, clearConnectionFactories, getAcceptorPriorityDelta, getAcceptors, getByteBufferPool, getConnectedEndPoints, getConnectionFactories, getConnectionFactory, getConnectionFactory, getDefaultConnectionFactory, getDefaultProtocol, getExecutor, getHttpChannelListeners, getIdleTimeout, getName, getProtocols, getScheduler, getServer, handleAcceptFailure, interruptAcceptors, isAccepting, isShutdown, join, join, onEndPointClosed, onEndPointOpened, removeConnectionFactory, setAccepting, setAcceptorPriorityDelta, setConnectionFactories, setDefaultProtocol, setIdleTimeout, setName, shutdown

    Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle

    addBean, addBean, addEventListener, addManaged, contains, destroy, dump, dump, dump, dump, dump, dumpBeans, dumpObject, dumpObjects, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeans

    Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

    addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.eclipse.jetty.util.component.Container

    addBean, addBean, addEventListener, getBean, getBeans, getBeans, getContainedBeans, isManaged, manage, removeBean, removeEventListener, unmanage

    Methods inherited from interface org.eclipse.jetty.util.component.Dumpable

    dump, dump, dumpSelf

    Methods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer

    isDumpable

    Methods inherited from interface org.eclipse.jetty.util.component.LifeCycle

    addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
  • Field Details

    • MAX_UNIX_SOCKET_PATH_LENGTH

      public static final int MAX_UNIX_SOCKET_PATH_LENGTH
      See Also:
    • LOG

      private static final org.eclipse.jetty.util.log.Logger LOG
    • _manager

      private final org.eclipse.jetty.io.SelectorManager _manager
    • _unixSocket

      private String _unixSocket
    • _acceptChannel

      private volatile jnr.unixsocket.UnixServerSocketChannel _acceptChannel
    • _acceptQueueSize

      private volatile int _acceptQueueSize
    • _reuseAddress

      private volatile boolean _reuseAddress
  • Constructor Details

    • UnixSocketConnector

      public UnixSocketConnector(@Name("server") org.eclipse.jetty.server.Server server)

      Constructs a UnixSocketConnector with the default configuration.

      Parameters:
      server - the Server this connector will accept connections for.
    • UnixSocketConnector

      public UnixSocketConnector(@Name("server") org.eclipse.jetty.server.Server server, @Name("selectors") int selectors)

      Constructs a UnixSocketConnector with the given number of selectors

      Parameters:
      server - the Server this connector will accept connections for.
      selectors - the number of selectors, or <=0 for a default value.
    • UnixSocketConnector

      public UnixSocketConnector(@Name("server") org.eclipse.jetty.server.Server server, @Name("factories") org.eclipse.jetty.server.ConnectionFactory... factories)

      Constructs a UnixSocketConnector with the given ConnectionFactories.

      Parameters:
      server - the Server this connector will accept connections for.
      factories - zero or more ConnectionFactory instances used to create and configure connections.
    • UnixSocketConnector

      public UnixSocketConnector(@Name("server") org.eclipse.jetty.server.Server server, @Name("selectors") int selectors, @Name("factories") org.eclipse.jetty.server.ConnectionFactory... factories)

      Constructs a UnixSocketConnector with the given selectors and ConnectionFactories.

      Parameters:
      server - the Server this connector will accept connections for.
      selectors - the number of selectors, or <=0 for a default value.
      factories - zero or more ConnectionFactory instances used to create and configure connections.
    • UnixSocketConnector

      public UnixSocketConnector(@Name("server") org.eclipse.jetty.server.Server server, @Name("sslContextFactory") org.eclipse.jetty.util.ssl.SslContextFactory sslContextFactory)

      Constructs a UnixSocketConnector with the given SslContextFactory.

      Parameters:
      server - the Server this connector will accept connections for.
      sslContextFactory - when non null a SslConnectionFactory prepended to the other ConnectionFactories
    • UnixSocketConnector

      public UnixSocketConnector(@Name("server") org.eclipse.jetty.server.Server server, @Name("selectors") int selectors, @Name("sslContextFactory") org.eclipse.jetty.util.ssl.SslContextFactory sslContextFactory)

      Constructs a UnixSocketConnector with the given selectors and SslContextFactory.

      .
      Parameters:
      server - the Server this connector will accept connections for.
      sslContextFactory - when non null a SslConnectionFactory prepended to the other ConnectionFactories
      selectors - the number of selectors, or <=0 for a default value.
    • UnixSocketConnector

      public UnixSocketConnector(@Name("server") org.eclipse.jetty.server.Server server, @Name("sslContextFactory") org.eclipse.jetty.util.ssl.SslContextFactory sslContextFactory, @Name("factories") org.eclipse.jetty.server.ConnectionFactory... factories)

      Constructs a UnixSocketConnector with the given SslContextFactory and ConnectionFactories.

      .
      Parameters:
      server - the Server this connector will accept connections for.
      sslContextFactory - when non null a SslConnectionFactory prepended to the other ConnectionFactories
      factories - zero or more ConnectionFactory instances used to create and configure connections.
    • UnixSocketConnector

      public UnixSocketConnector(@Name("server") org.eclipse.jetty.server.Server server, @Name("executor") Executor executor, @Name("scheduler") org.eclipse.jetty.util.thread.Scheduler scheduler, @Name("bufferPool") org.eclipse.jetty.io.ByteBufferPool bufferPool, @Name("selectors") int selectors, @Name("factories") org.eclipse.jetty.server.ConnectionFactory... factories)

      Constructs a UnixSocketConnector with the given parameters.

      .
      Parameters:
      server - the Server this connector will accept connections for.
      executor - the executor that runs tasks for handling requests, acceptors and selectors.
      scheduler - the scheduler used to schedule timed tasks.
      bufferPool - the ByteBufferPool used to allocate buffers.
      selectors - the number of selectors, or <=0 for a default value.
      factories - zero or more ConnectionFactory instances used to create and configure connections.
  • Method Details

    • getUnixSocket

      @ManagedAttribute("The UNIX socket file name") public String getUnixSocket()
    • setUnixSocket

      public void setUnixSocket(String filename)
    • newSelectorManager

      protected org.eclipse.jetty.io.SelectorManager newSelectorManager(Executor executor, org.eclipse.jetty.util.thread.Scheduler scheduler, int selectors)
    • doStart

      protected void doStart() throws Exception
      Overrides:
      doStart in class org.eclipse.jetty.server.AbstractConnector
      Throws:
      Exception
    • doStop

      protected void doStop() throws Exception
      Overrides:
      doStop in class org.eclipse.jetty.server.AbstractConnector
      Throws:
      Exception
    • isOpen

      public boolean isOpen()
    • open

      public void open() throws IOException
      Throws:
      IOException
    • close

      public void close()
    • accept

      public void accept(int acceptorID) throws IOException
      Specified by:
      accept in class org.eclipse.jetty.server.AbstractConnector
      Throws:
      IOException
    • accepted

      protected void accepted(jnr.unixsocket.UnixSocketChannel channel) throws IOException
      Throws:
      IOException
    • getSelectorManager

      public org.eclipse.jetty.io.SelectorManager getSelectorManager()
    • getTransport

      public Object getTransport()
    • newEndPoint

      protected UnixSocketEndPoint newEndPoint(SelectableChannel channel, org.eclipse.jetty.io.ManagedSelector selector, SelectionKey key)
    • getAcceptQueueSize

      @ManagedAttribute("Accept Queue size") public int getAcceptQueueSize()
      Returns:
      the accept queue size
    • setAcceptQueueSize

      public void setAcceptQueueSize(int acceptQueueSize)
      Parameters:
      acceptQueueSize - the accept queue size (also known as accept backlog)
    • getReuseAddress

      @ManagedAttribute("Whether the server socket reuses addresses") public boolean getReuseAddress()
      Returns:
      whether the server socket reuses addresses
      See Also:
    • setReuseAddress

      public void setReuseAddress(boolean reuseAddress)
      Parameters:
      reuseAddress - whether the server socket reuses addresses
      See Also:
    • toString

      public String toString()
      Overrides:
      toString in class org.eclipse.jetty.server.AbstractConnector