Http2Connection

io.quartz.http2.Http2Connection
See theHttp2Connection companion object
class Http2Connection[Env](ch: IOChannel, val id: Long, httpRoute: () => Env, httpReq11: Ref[Option[Request]], outq: Queue[ByteBuffer], globalTransmitWindow: Ref[Long], globalBytesOfPendingInboundData: Ref[Long], globalInboundWindow: Ref[Long], shutdownD: Promise[Throwable, Boolean], hSem: Semaphore, hSem2: Semaphore, MAX_CONCURRENT_STREAMS: Int, HTTP2_KEEP_ALIVE_MS: Int, INITIAL_WINDOW_SIZE: Int) extends Http2ConnectionCommon

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

def closeStream(streamId: Int): Task[Unit]
def getStream(id: Int): Option[Http2StreamCommon]
def packet_handler(http11request: Ref[Option[Request]], packet: Chunk[Byte]): ZIO[Env, Throwable, Unit]
def processIncoming(leftOver: Chunk[Byte]): ZIO[Env, Nothing, Unit]
def route2(streamId: Int, request: Request): ZIO[Env, Throwable, Unit]
def shutdown: Task[Unit]

Inherited methods

protected def dataFrame(sts: Http2Settings, streamId: Int, endStream: Boolean, data: ByteBuffer): Seq[ByteBuffer]

Generate stream data frame(s) for the specified data

Generate stream data frame(s) for the specified data

If the data exceeds the peers MAX_FRAME_SIZE setting, it is fragmented into a series of frames.

Attributes

Inherited from:
Http2ConnectionCommon
protected def headerFrame(streamId: Int, settings: Http2Settings, priority: Priority, endStream: Boolean, headerEncoder: HeaderEncoder, headers: Headers): Seq[ByteBuffer]

Generate stream header frames from the provided header sequence

Generate stream header frames from the provided header sequence

If the compressed representation of the headers exceeds the MAX_FRAME_SIZE setting of the peer, it will be broken into a HEADERS frame and a series of CONTINUATION frames.

Attributes

Inherited from:
Http2ConnectionCommon
protected def sendDataFrame(streamId: Int, bb: => ByteBuffer): Task[Unit]

Attributes

Inherited from:
Http2ConnectionCommon
def sendFrame(b: ByteBuffer): UIO[Boolean]

Attributes

Inherited from:
Http2ConnectionCommon
protected def takeSlice(buf: ByteBuffer, len: Int): ByteBuffer

Attributes

Inherited from:
Http2ConnectionCommon

Concrete fields

var concurrentStreams: AtomicInteger
var headerStreamId: Int
val id: Long
var lastStreamId: Int
var settings_done: Boolean
var start: Boolean
val streamTbl: Map[Int, Http2Stream]