Class ServerQuicSession
java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.ContainerLifeCycle
org.eclipse.jetty.quic.common.QuicSession
org.eclipse.jetty.quic.server.ServerQuicSession
- All Implemented Interfaces:
CyclicTimeouts.Expirable, Container, Destroyable, Dumpable, Dumpable.DumpableContainer, LifeCycle
The server specific implementation of QuicSession.
When asked to create a QUIC stream, it creates a QuicStreamEndPoint
with an associated Connection created from the ConnectionFactory,
retrieved from the server Connector, correspondent to the protocol
negotiated with the client (or the default protocol).
-
Nested Class Summary
Nested classes/interfaces inherited from class QuicSession
QuicSession.ListenerNested classes/interfaces inherited from class AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener, AbstractLifeCycle.StopExceptionNested classes/interfaces inherited from interface Container
Container.InheritedListenerNested classes/interfaces inherited from interface Dumpable
Dumpable.DumpableContainer -
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionServerQuicSession(Executor executor, Scheduler scheduler, ByteBufferPool bufferPool, QuicheConnection quicheConnection, ServerQuicConnection connection, SocketAddress remoteAddress, Connector connector) -
Method Summary
Modifier and TypeMethodDescriptionprotected ProtocolSessionvoidflush()longReturns the expiration time in nanoseconds.newConnection(QuicStreamEndPoint endPoint) booleanprocess(SocketAddress remoteAddress, ByteBuffer cipherBufferIn) voidsetIdleTimeout(long idleTimeout) protected booleanMethods inherited from class QuicSession
doStart, doStop, dump, fill, flush, getByteBufferPool, getConnectionId, getExecutor, getIdleTimeout, getLocalAddress, getMaxLocalStreams, getNegotiatedProtocol, getOrCreateStreamEndPoint, getPeerCertificates, getProtocolSession, getQuicStreamEndPoints, getRemoteAddress, getRemoteCloseInfo, getScheduler, getWindowCapacity, getWindowCapacity, inwardClose, isConnectionEstablished, isFinished, newStreamId, onFailure, outwardClose, pollTask, remove, setConnectionId, shutdown, shutdownInput, shutdownOutput, toStringMethods inherited from class ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, destroy, dump, dump, dumpObjects, dumpStdErr, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, installBean, installBean, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, start, stop, unmanage, updateBean, updateBean, updateBeans, updateBeansMethods inherited from class AbstractLifeCycle
getEventListeners, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, setEventListeners, start, stopMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Container
getCachedBeans, getEventListenersMethods inherited from interface Dumpable.DumpableContainer
isDumpable
-
Constructor Details
-
ServerQuicSession
public ServerQuicSession(Executor executor, Scheduler scheduler, ByteBufferPool bufferPool, QuicheConnection quicheConnection, ServerQuicConnection connection, SocketAddress remoteAddress, Connector connector)
-
-
Method Details
-
getQuicConnection
- Overrides:
getQuicConnectionin classQuicSession
-
createProtocolSession
- Specified by:
createProtocolSessionin classQuicSession
-
validateNewlyEstablishedConnection
protected boolean validateNewlyEstablishedConnection()- Specified by:
validateNewlyEstablishedConnectionin classQuicSession- Returns:
- true if the connection is valid, false otherwise.
-
newConnection
- Specified by:
newConnectionin classQuicSession
-
getExpireNanoTime
public long getExpireNanoTime()Description copied from interface:CyclicTimeouts.ExpirableReturns the expiration time in nanoseconds.
The value to return must be calculated taking into account the current nanoTime, for example:
expireNanoTime = NanoTime.now() + timeoutNanosReturning
Long.MAX_VALUEindicates that this entity does not expire.- Specified by:
getExpireNanoTimein interfaceCyclicTimeouts.Expirable- Returns:
- the expiration time in nanoseconds, or
Long.MAX_VALUEif this entity does not expire
-
setIdleTimeout
public void setIdleTimeout(long idleTimeout) - Overrides:
setIdleTimeoutin classQuicSession
-
onIdleTimeout
public boolean onIdleTimeout()- Overrides:
onIdleTimeoutin classQuicSession
-
process
- Overrides:
processin classQuicSession- Throws:
IOException
-
flush
public void flush()- Overrides:
flushin classQuicSession
-