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 ClassesNested 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
FieldsModifier and TypeFieldDescriptionprivate 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
ConstructorsConstructorDescriptionUnixSocketConnector
(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, 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 TypeMethodDescriptionvoid
accept
(int acceptorID) protected void
accepted
(jnr.unixsocket.UnixSocketChannel channel) void
close()
protected void
doStart()
protected void
doStop()
int
boolean
org.eclipse.jetty.io.SelectorManager
boolean
isOpen()
protected UnixSocketEndPoint
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
open()
void
setAcceptQueueSize
(int acceptQueueSize) void
setReuseAddress
(boolean reuseAddress) void
setUnixSocket
(String filename) 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
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
-
_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
- 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") 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 Details
-
getUnixSocket
-
setUnixSocket
-
newSelectorManager
protected org.eclipse.jetty.io.SelectorManager newSelectorManager(Executor executor, org.eclipse.jetty.util.thread.Scheduler scheduler, int selectors) -
doStart
- Overrides:
doStart
in classorg.eclipse.jetty.server.AbstractConnector
- Throws:
Exception
-
doStop
- Overrides:
doStop
in classorg.eclipse.jetty.server.AbstractConnector
- Throws:
Exception
-
isOpen
public boolean isOpen() -
open
- Throws:
IOException
-
close
public void close() -
accept
- Specified by:
accept
in classorg.eclipse.jetty.server.AbstractConnector
- Throws:
IOException
-
accepted
- Throws:
IOException
-
getSelectorManager
public org.eclipse.jetty.io.SelectorManager getSelectorManager() -
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
- Overrides:
toString
in classorg.eclipse.jetty.server.AbstractConnector
-