Http2ClientConnection

io.quartz.http2.Http2ClientConnection
See theHttp2ClientConnection companion object
class Http2ClientConnection(ch: IOChannel, timeOutMs: Int, uri: URI, streamIdRef: Ref[IO, Int], headerEncoderRef: Ref[IO, HeaderEncoder], headerDecoderRef: Ref[IO, HeaderDecoder], outq: Queue[IO, ByteBuffer], outBoundFiber: Fiber[IO, Throwable, Nothing], hSem: Semaphore[IO], hSem2: Semaphore[IO], awaitSettings: Deferred[IO, Boolean], settings1: Ref[IO, Http2Settings], globalBytesOfPendingInboundData: Ref[IO, Long], inboundWindow: Ref[IO, Long], transmitWindow: Ref[IO, Long], INITIAL_WINDOW_SIZE: Int) extends Http2ConnectionCommon

Represents a HTTP/2 connection.

Attributes

ch

The underlying IO channel of the connection.

hSem

The semaphore for the connection.

headerDecoderRef

The header decoder for the connection.

headerEncoderRef

The header encoder for the connection.

outBoundFiber

The output fiber for the connection.

outq

The output queue for the connection.

sets

The HTTP/2 settings for the connection.

streamIdRef

connection streamIds, starts from 1,3,5 ...

Constructor:

Creates a new HTTP/2 connection with the specified parameters.

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Concise view

Type members

Classlikes

class Http2ClientStream(val streamId: Int, val d: Deferred[IO, (Byte, Headers)], val header: ArrayBuffer[ByteBuffer], val inDataQ: Queue[IO, ByteBuffer], inboundWindow: Ref[IO, Long], transmitWindow: Ref[IO, Long], bytesOfPendingInboundData: Ref[IO, Long], outXFlowSync: Queue[IO, Boolean]) extends Http2StreamCommon

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Value members

Concrete methods

H2_ClientConnect() initiate incoming connections

H2_ClientConnect() initiate incoming connections

Attributes

def close(): IO[Unit]
def doDelete(path: String, stream: Stream[IO, Byte], headers: Headers): IO[ClientResponse]
def doGet(path: String, stream: Stream[IO, Byte], headers: Headers): IO[ClientResponse]
def doMethod(method: Method, path: String, s0: Stream[IO, Byte], h0: Headers): IO[ClientResponse]
def doPost(path: String, stream: Stream[IO, Byte], headers: Headers): IO[ClientResponse]
def doPut(path: String, stream: Stream[IO, Byte], headers: Headers): IO[ClientResponse]
def getStream(id: Int): Option[Http2StreamCommon]

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

Inherited fields

val globalInboundWindow: Ref[IO, Long]

Attributes

Inherited from:
Http2ConnectionCommon
val globalTransmitWindow: Ref[IO, Long]

Attributes

Inherited from:
Http2ConnectionCommon