Package org.eclipse.jetty.server
Class SslConnectionFactory
- java.lang.Object
-
- org.eclipse.jetty.util.component.AbstractLifeCycle
-
- org.eclipse.jetty.util.component.ContainerLifeCycle
-
- org.eclipse.jetty.server.AbstractConnectionFactory
-
- org.eclipse.jetty.server.SslConnectionFactory
-
- All Implemented Interfaces:
ConnectionFactory
,ConnectionFactory.Detecting
,Container
,Destroyable
,Dumpable
,Dumpable.DumpableContainer
,LifeCycle
public class SslConnectionFactory extends AbstractConnectionFactory implements ConnectionFactory.Detecting
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.server.ConnectionFactory
ConnectionFactory.Detecting, ConnectionFactory.Upgrading
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.server.ConnectionFactory.Detecting
ConnectionFactory.Detecting.Detection
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
Container.InheritedListener, Container.Listener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
Dumpable.DumpableContainer
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
_directBuffersForDecryption
private boolean
_directBuffersForEncryption
private java.lang.String
_nextProtocol
private SslContextFactory
_sslContextFactory
private static int
TLS_ALERT_FRAME_TYPE
private static int
TLS_HANDSHAKE_FRAME_TYPE
private static int
TLS_MAJOR_VERSION
-
Constructor Summary
Constructors Constructor Description SslConnectionFactory()
SslConnectionFactory(java.lang.String nextProtocol)
SslConnectionFactory(SslContextFactory factory, java.lang.String nextProtocol)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected AbstractConnection
configure(AbstractConnection connection, Connector connector, EndPoint endPoint)
ConnectionFactory.Detecting.Detection
detect(java.nio.ByteBuffer buffer)
Check the bytes in the givenbuffer
to figure out if thisConnectionFactory.Detecting
instance can work with them or not.protected void
doStart()
Starts the managed lifecycle beans in the order they were added.java.lang.String
getNextProtocol()
SslContextFactory
getSslContextFactory()
boolean
isDirectBuffersForDecryption()
boolean
isDirectBuffersForEncryption()
Connection
newConnection(Connector connector, EndPoint endPoint)
Creates a newConnection
with the given parametersprotected SslConnection
newSslConnection(Connector connector, EndPoint endPoint, javax.net.ssl.SSLEngine engine)
void
setDirectBuffersForDecryption(boolean useDirectBuffers)
void
setDirectBuffersForEncryption(boolean useDirectBuffers)
java.lang.String
toString()
-
Methods inherited from class org.eclipse.jetty.server.AbstractConnectionFactory
findNextProtocol, findNextProtocol, getFactories, getInputBufferSize, getProtocol, getProtocols, setInputBufferSize
-
Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, destroy, doStop, 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.server.ConnectionFactory
getProtocol, getProtocols
-
Methods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpable
-
-
-
-
Field Detail
-
TLS_ALERT_FRAME_TYPE
private static final int TLS_ALERT_FRAME_TYPE
- See Also:
- Constant Field Values
-
TLS_HANDSHAKE_FRAME_TYPE
private static final int TLS_HANDSHAKE_FRAME_TYPE
- See Also:
- Constant Field Values
-
TLS_MAJOR_VERSION
private static final int TLS_MAJOR_VERSION
- See Also:
- Constant Field Values
-
_sslContextFactory
private final SslContextFactory _sslContextFactory
-
_nextProtocol
private final java.lang.String _nextProtocol
-
_directBuffersForEncryption
private boolean _directBuffersForEncryption
-
_directBuffersForDecryption
private boolean _directBuffersForDecryption
-
-
Constructor Detail
-
SslConnectionFactory
public SslConnectionFactory()
-
SslConnectionFactory
public SslConnectionFactory(@Name("next") java.lang.String nextProtocol)
-
SslConnectionFactory
public SslConnectionFactory(@Name("sslContextFactory") SslContextFactory factory, @Name("next") java.lang.String nextProtocol)
-
-
Method Detail
-
getSslContextFactory
public SslContextFactory getSslContextFactory()
-
setDirectBuffersForEncryption
public void setDirectBuffersForEncryption(boolean useDirectBuffers)
-
setDirectBuffersForDecryption
public void setDirectBuffersForDecryption(boolean useDirectBuffers)
-
isDirectBuffersForDecryption
public boolean isDirectBuffersForDecryption()
-
isDirectBuffersForEncryption
public boolean isDirectBuffersForEncryption()
-
getNextProtocol
public java.lang.String getNextProtocol()
-
doStart
protected void doStart() throws java.lang.Exception
Description copied from class:ContainerLifeCycle
Starts the managed lifecycle beans in the order they were added.- Overrides:
doStart
in classContainerLifeCycle
- Throws:
java.lang.Exception
-
detect
public ConnectionFactory.Detecting.Detection detect(java.nio.ByteBuffer buffer)
Description copied from interface:ConnectionFactory.Detecting
Check the bytes in the given
buffer
to figure out if thisConnectionFactory.Detecting
instance can work with them or not.The
buffer
MUST be left untouched by this method: bytes MUST NOT be consumed and MUST NOT be modified.- Specified by:
detect
in interfaceConnectionFactory.Detecting
- Parameters:
buffer
- the buffer.- Returns:
- One of:
ConnectionFactory.Detecting.Detection.RECOGNIZED
if thisConnectionFactory.Detecting
instance can work with the bytes in the bufferConnectionFactory.Detecting.Detection.NOT_RECOGNIZED
if thisConnectionFactory.Detecting
instance cannot work with the bytes in the bufferConnectionFactory.Detecting.Detection.NEED_MORE_BYTES
if thisConnectionFactory.Detecting
instance requires more bytes to make a decision
-
newConnection
public Connection newConnection(Connector connector, EndPoint endPoint)
Description copied from interface:ConnectionFactory
Creates a new
Connection
with the given parameters- Specified by:
newConnection
in interfaceConnectionFactory
- Parameters:
connector
- TheConnector
creating this connectionendPoint
- theEndPoint
associated with the connection- Returns:
- a new
Connection
-
newSslConnection
protected SslConnection newSslConnection(Connector connector, EndPoint endPoint, javax.net.ssl.SSLEngine engine)
-
configure
protected AbstractConnection configure(AbstractConnection connection, Connector connector, EndPoint endPoint)
- Overrides:
configure
in classAbstractConnectionFactory
-
toString
public java.lang.String toString()
- Overrides:
toString
in classAbstractConnectionFactory
-
-