Package org.eclipse.jetty.quic.server
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 org.eclipse.jetty.quic.common.QuicSession
QuicSession.ListenerNested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener, AbstractLifeCycle.StopExceptionNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
Container.InheritedListenerNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
Dumpable.DumpableContainer -
Field Summary
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedServerQuicSession(Executor executor, Scheduler scheduler, ByteBufferPool byteBufferPool, org.eclipse.jetty.quic.quiche.QuicheConnection quicheConnection, QuicConnection connection, SocketAddress remoteAddress, Connector connector) -
Method Summary
Modifier and TypeMethodDescriptionprotected ProtocolSessionvoidflush()longReturns the expiration time in nanoseconds.newConnection(QuicStreamEndPoint endPoint) process(SocketAddress remoteAddress, ByteBuffer cipherBufferIn) voidsetIdleTimeout(long idleTimeout) Methods inherited from class org.eclipse.jetty.quic.common.QuicSession
doStart, doStop, dump, fill, flush, getByteBufferPool, getConnectionId, getExecutor, getIdleTimeout, getLocalAddress, getMaxLocalStreams, getNegotiatedProtocol, getOrCreateStreamEndPoint, getProtocolSession, getQuicStreamEndPoints, getRemoteAddress, getRemoteCloseInfo, getScheduler, getWindowCapacity, getWindowCapacity, inwardClose, isConnectionEstablished, isFinished, newStreamId, onFailure, onIdleTimeout, outwardClose, pollTask, remove, setConnectionId, shutdown, shutdownInput, shutdownOutput, toStringMethods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, destroy, dump, dump, dumpObjects, dumpStdErr, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, start, stop, unmanage, updateBean, updateBean, updateBeans, updateBeansMethods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
getEventListeners, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, setEventListeners, start, stopMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.jetty.util.component.Container
getCachedBeans, getEventListenersMethods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpable
-
Constructor Details
-
ServerQuicSession
protected ServerQuicSession(Executor executor, Scheduler scheduler, ByteBufferPool byteBufferPool, org.eclipse.jetty.quic.quiche.QuicheConnection quicheConnection, QuicConnection connection, SocketAddress remoteAddress, Connector connector)
-
-
Method Details
-
getQuicConnection
- Overrides:
getQuicConnectionin classQuicSession
-
createProtocolSession
- Specified by:
createProtocolSessionin classQuicSession
-
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
-
process
- Overrides:
processin classQuicSession- Throws:
IOException
-
flush
public void flush()- Overrides:
flushin classQuicSession
-