Http2Connection

io.quartz.http2.Http2Connection
See theHttp2Connection companion object
class Http2Connection(ch: IOChannel, val id: Long, httpRoute: Request => IO[Option[Response]], httpReq11: Ref[IO, Option[Request]], outq: Queue[IO, ByteBuffer], globalTransmitWindow: Ref[IO, Long], globalBytesOfPendingInboundData: Ref[IO, Long], globalInboundWindow: Ref[IO, Long], shutdownD: Deferred[IO, Boolean], hSem: Semaphore[IO], hSem2: Semaphore[IO], 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

Concise view

Value members

Concrete methods

def getStream(id: Int): Option[Http2StreamCommon]
def processIncoming(leftOver: Chunk[Byte]): IO[Unit]
def shutdown: IO[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]

Attributes

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

Attributes

Inherited from:
Http2ConnectionCommon
def sendFrame(b: ByteBuffer): IO[Unit]

Attributes

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

Attributes

Inherited from:
Http2ConnectionCommon

Concrete fields

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