Http2Connection

io.quartz.http2.Http2Connection
See theHttp2Connection companion object
class Http2Connection(ch: IOChannel, httpRoute: Request => IO[Option[Response]], httpReq11: Ref[IO, Option[Request]], outq: Dequeue[IO, ByteBuffer], outDataQEventQ: Queue[IO, Boolean], globalTransmitWindow: Ref[IO, Long], val globalBytesOfPendingInboundData: Ref[IO, Int], globalInboundWindow: Ref[IO, Int], shutdownD: Deferred[IO, Boolean], hSem: Semaphore[IO], MAX_CONCURRENT_STREAMS: Int, HTTP2_KEEP_ALIVE_MS: Int)

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Concise view

Type members

Classlikes

case class txWindow_SplitDataFrame(buffer: ByteBuffer, dataLen: Int)

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Value members

Concrete methods

def closeStream(streamId: Int): IO[Unit]
def dataFrame(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

def headerFrame(streamId: Int, priority: Priority, endStream: Boolean, 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

def packet_handler(http11request: Ref[IO, Option[Request]], packet: Chunk[Byte]): IO[Unit]
def processInboundLocalFlowControl(streamId: Int, c: Http2Stream, dataSize: Int): IO[Unit]
def processIncoming(leftOver: Chunk[Byte]): IO[Unit]
def route(request: Request): IO[Response]
def route2(streamId: Int, request: Request): IO[Unit]
def sendDataFrame(streamId: Int, bb: ByteBuffer): IO[Unit]
def sendFrame(b: ByteBuffer): IO[Unit]
def sendFrameLowPriority(b: ByteBuffer): IO[Unit]
def shutdown: IO[Unit]
def takeSlice(buf: ByteBuffer, len: Int): ByteBuffer