Package org.eclipse.jetty.unixsocket
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
UnixSocketConnector.UnixSocketConnectorManager
-
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
-
-
Field Summary
Fields Modifier and Type Field Description private jnr.unixsocket.UnixServerSocketChannel
_acceptChannel
private int
_acceptQueueSize
private org.eclipse.jetty.io.SelectorManager
_manager
private boolean
_reuseAddress
private java.lang.String
_unixSocket
private static org.eclipse.jetty.util.log.Logger
LOG
static int
MAX_UNIX_SOCKET_PATH_LENGTH
-
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 selectorsUnixSocketConnector(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, java.util.concurrent.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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(int acceptorID)
protected void
accepted(jnr.unixsocket.UnixSocketChannel channel)
void
close()
protected void
doStart()
protected void
doStop()
int
getAcceptQueueSize()
boolean
getReuseAddress()
org.eclipse.jetty.io.SelectorManager
getSelectorManager()
java.lang.Object
getTransport()
java.lang.String
getUnixSocket()
boolean
isOpen()
protected UnixSocketEndPoint
newEndPoint(java.nio.channels.SelectableChannel channel, org.eclipse.jetty.io.ManagedSelector selector, java.nio.channels.SelectionKey key)
protected org.eclipse.jetty.io.SelectorManager
newSelectorManager(java.util.concurrent.Executor executor, org.eclipse.jetty.util.thread.Scheduler scheduler, int selectors)
void
open()
void
setAcceptQueueSize(int acceptQueueSize)
void
setReuseAddress(boolean reuseAddress)
void
setUnixSocket(java.lang.String filename)
java.lang.String
toString()
-
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
-
-
-
-
Field Detail
-
MAX_UNIX_SOCKET_PATH_LENGTH
public static final int MAX_UNIX_SOCKET_PATH_LENGTH
- See Also:
- Constant Field Values
-
LOG
private static final org.eclipse.jetty.util.log.Logger LOG
-
_manager
private final org.eclipse.jetty.io.SelectorManager _manager
-
_unixSocket
private java.lang.String _unixSocket
-
_acceptChannel
private volatile jnr.unixsocket.UnixServerSocketChannel _acceptChannel
-
_acceptQueueSize
private volatile int _acceptQueueSize
-
_reuseAddress
private volatile boolean _reuseAddress
-
-
Constructor Detail
-
UnixSocketConnector
public UnixSocketConnector(@Name("server") org.eclipse.jetty.server.Server server)
Constructs a UnixSocketConnector with the default configuration.
- Parameters:
server
- theServer
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
- theServer
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
- theServer
this connector will accept connections for.factories
- zero or moreConnectionFactory
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
- theServer
this connector will accept connections for.selectors
- the number of selectors, or <=0 for a default value.factories
- zero or moreConnectionFactory
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
- theServer
this connector will accept connections for.sslContextFactory
- when non null aSslConnectionFactory
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
- theServer
this connector will accept connections for.sslContextFactory
- when non null aSslConnectionFactory
prepended to the other ConnectionFactoriesselectors
- 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
- theServer
this connector will accept connections for.sslContextFactory
- when non null aSslConnectionFactory
prepended to the other ConnectionFactoriesfactories
- zero or moreConnectionFactory
instances used to create and configure connections.
-
UnixSocketConnector
public UnixSocketConnector(@Name("server") org.eclipse.jetty.server.Server server, @Name("executor") java.util.concurrent.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
- theServer
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 moreConnectionFactory
instances used to create and configure connections.
-
-
Method Detail
-
getUnixSocket
@ManagedAttribute("The UNIX socket file name") public java.lang.String getUnixSocket()
-
setUnixSocket
public void setUnixSocket(java.lang.String filename)
-
newSelectorManager
protected org.eclipse.jetty.io.SelectorManager newSelectorManager(java.util.concurrent.Executor executor, org.eclipse.jetty.util.thread.Scheduler scheduler, int selectors)
-
doStart
protected void doStart() throws java.lang.Exception
- Overrides:
doStart
in classorg.eclipse.jetty.server.AbstractConnector
- Throws:
java.lang.Exception
-
doStop
protected void doStop() throws java.lang.Exception
- Overrides:
doStop
in classorg.eclipse.jetty.server.AbstractConnector
- Throws:
java.lang.Exception
-
isOpen
public boolean isOpen()
-
open
public void open() throws java.io.IOException
- Throws:
java.io.IOException
-
close
public void close()
-
accept
public void accept(int acceptorID) throws java.io.IOException
- Specified by:
accept
in classorg.eclipse.jetty.server.AbstractConnector
- Throws:
java.io.IOException
-
accepted
protected void accepted(jnr.unixsocket.UnixSocketChannel channel) throws java.io.IOException
- Throws:
java.io.IOException
-
getSelectorManager
public org.eclipse.jetty.io.SelectorManager getSelectorManager()
-
getTransport
public java.lang.Object getTransport()
-
newEndPoint
protected UnixSocketEndPoint newEndPoint(java.nio.channels.SelectableChannel channel, org.eclipse.jetty.io.ManagedSelector selector, java.nio.channels.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:
ServerSocket.getReuseAddress()
-
setReuseAddress
public void setReuseAddress(boolean reuseAddress)
- Parameters:
reuseAddress
- whether the server socket reuses addresses- See Also:
ServerSocket.setReuseAddress(boolean)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classorg.eclipse.jetty.server.AbstractConnector
-
-