Class QuicSession

    • Constructor Detail

      • QuicSession

        protected QuicSession​(java.util.concurrent.Executor executor,
                              Scheduler scheduler,
                              ByteBufferPool byteBufferPool,
                              org.eclipse.jetty.quic.quiche.QuicheConnection quicheConnection,
                              QuicConnection connection,
                              java.net.SocketAddress remoteAddress)
    • Method Detail

      • 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 class ContainerLifeCycle
        Throws:
        AbstractLifeCycle.StopException - If thrown, the lifecycle will immediately be stopped.
        java.lang.Exception - If there was a problem starting. Will cause a transition to FAILED state
      • doStop

        protected void doStop()
                       throws java.lang.Exception
        Description copied from class: ContainerLifeCycle
        Stops the managed lifecycle beans in the reverse order they were added.
        Overrides:
        doStop in class ContainerLifeCycle
        Throws:
        java.lang.Exception - If there was a problem stopping. Will cause a transition to FAILED state
      • shutdown

        public java.util.concurrent.CompletableFuture<java.lang.Void> shutdown()
      • getExecutor

        public java.util.concurrent.Executor getExecutor()
      • getScheduler

        public Scheduler getScheduler()
      • getMaxLocalStreams

        public int getMaxLocalStreams()
      • getNegotiatedProtocol

        public java.lang.String getNegotiatedProtocol()
      • getQuicStreamEndPoints

        public java.util.Collection<QuicStreamEndPoint> getQuicStreamEndPoints()
      • getRemoteCloseInfo

        public CloseInfo getRemoteCloseInfo()
      • getIdleTimeout

        public long getIdleTimeout()
      • setIdleTimeout

        public void setIdleTimeout​(long idleTimeout)
      • onIdleTimeout

        public boolean onIdleTimeout()
      • onFailure

        public void onFailure​(java.lang.Throwable failure)
      • newStreamId

        public long newStreamId​(StreamType streamType)
        Parameters:
        streamType - the stream type
        Returns:
        a new stream ID for the given type
      • fill

        public int fill​(long streamId,
                        java.nio.ByteBuffer buffer)
                 throws java.io.IOException
        Throws:
        java.io.IOException
      • flush

        public int flush​(long streamId,
                         java.nio.ByteBuffer buffer,
                         boolean last)
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • isFinished

        public boolean isFinished​(long streamId)
      • getWindowCapacity

        public long getWindowCapacity()
      • getWindowCapacity

        public long getWindowCapacity​(long streamId)
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • shutdownInput

        public void shutdownInput​(long streamId,
                                  long error)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • shutdownOutput

        public void shutdownOutput​(long streamId,
                                   long error)
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • remove

        public void remove​(QuicStreamEndPoint endPoint,
                           java.lang.Throwable failure)
      • getLocalAddress

        public java.net.SocketAddress getLocalAddress()
      • getRemoteAddress

        public java.net.SocketAddress getRemoteAddress()
      • isConnectionEstablished

        public boolean isConnectionEstablished()
      • getConnectionId

        public org.eclipse.jetty.quic.quiche.QuicheConnectionId getConnectionId()
      • setConnectionId

        public void setConnectionId​(org.eclipse.jetty.quic.quiche.QuicheConnectionId quicheConnectionId)
      • process

        public java.lang.Runnable process​(java.net.SocketAddress remoteAddress,
                                          java.nio.ByteBuffer cipherBufferIn)
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • pollTask

        protected java.lang.Runnable pollTask()
      • createProtocolSession

        protected abstract ProtocolSession createProtocolSession()
      • flush

        public void flush()
      • inwardClose

        public void inwardClose​(long error,
                                java.lang.String reason)
      • outwardClose

        public void outwardClose​(long error,
                                 java.lang.String reason)
      • dump

        public void dump​(java.lang.Appendable out,
                         java.lang.String indent)
                  throws java.io.IOException
        Description copied from interface: Dumpable
        Dump this object (and children) into an Appendable using the provided indent after any new lines. The indent should not be applied to the first object dumped.
        Specified by:
        dump in interface Dumpable
        Overrides:
        dump in class ContainerLifeCycle
        Parameters:
        out - The appendable to dump to
        indent - The indent to apply after any new lines.
        Throws:
        java.io.IOException - if unable to write to Appendable