~/bend-docscommunity

http2.bend checks

raw source on the hub · import bend-kit-http2@0.2.0.0/http2.bend as Http2

RFC 9113 HTTP/2 client and frames, with RFC 7541 HPACK over packed Bytes.

3 imports
import Base
import bend-kit-bytes@0.3.1.0/bytes.bend as Bytes
import ./hpack.bend as Hpack

Types

type Frame source · line 6 · raw

Type

type Error source · line 9 · raw

Data

type Decode source · line 12 · raw

Type

type Checked source · line 17 · raw

Type

type Stream source · line 315 · raw

Type

Send windows use U32 two's-complement; a SETTINGS change can make a stream window negative.

type Control source · line 319 · raw

Data

type Client source · line 324 · raw

Type

type ClientEvent source · line 328 · raw

Type

type Reply source · line 334 · raw

Type

type BodySent source · line 382 · raw

Type

type Flushed source · line 702 · raw

Type

type Gone source · line 819 · raw

Type

Definitions

def fail source · line 23 · raw

@+code:U32 -> @+connection:Bool -> @+stream:U32 -> Maybe<&2, Error>

Error codes from RFC 9113 §7: 1=PROTOCOL_ERROR, 3=FLOW_CONTROL_ERROR, 6=FRAME_SIZE_ERROR. A connection error uses stream 0.

def reject source · line 26 · raw

@bad:Bool -> @+code:U32 -> @+connection:Bool -> @+stream:U32 -> Maybe<&2, Error>

def first source · line 33 · raw

@m:Maybe<&2, Error> -> @n:Maybe<&2, Error> -> Maybe<&2, Error>

def number source · line 40 · raw

@m:Maybe<&2, U32> -> U32

def with_number source · line 47 · raw

@-R:Type -> @r:Pair(0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes, Maybe<&2, U32>) -> @k:(@_:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @_:U32 -> R) -> R

def with_slice source · line 51 · raw

@-R:Type -> @r:Pair(0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes) -> @k:(@_:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @_:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> R) -> R

def has source · line 55 · raw

@+flags:U32 -> @+bit:U32 -> Bool

def size.scope source · line 59 · raw

@+kind:U32 -> @+stream:U32 -> Bool

Field blocks, SETTINGS, and stream 0 make frame-size faults connection-wide.

def size.error source · line 72 · raw

@+kind:U32 -> @+stream:U32 -> Error

def size.reject source · line 76 · raw

@oversized:Bool -> @+kind:U32 -> @+stream:U32 -> Maybe<&2, Error>

def padding source · line 84 · raw

@+flags:U32 -> @+len:U32 -> @+fixed:U32 -> @+pad:U32 -> Bool

A PADDED payload must contain the pad-length octet and all the padding.

def setting source · line 87 · raw

@+id:U32 -> @+value:U32 -> Maybe<&2, Error>

def settings.go source · line 98 · raw

@n:Nat -> @b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @+at:U32 -> @m:Maybe<&2, Error> -> Pair(0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes, Maybe<&2, Error>)

def rules source · line 107 · raw

@+kind:U32 -> @+flags:U32 -> @+stream:U32 -> @+len:U32 -> @+pad:U32 -> @+promised:U32 -> @+value:U32 -> @m:Maybe<&2, Error> -> Maybe<&2, Error>

def checked source · line 149 · raw

@m:Maybe<&2, Error> -> @+kind:U32 -> @+flags:U32 -> @+stream:U32 -> @b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Checked

def with_settings source · line 156 · raw

@r:Pair(0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes, Maybe<&2, Error>) -> @+flags:U32 -> @+stream:U32 -> Checked

def inspect.settings source · line 160 · raw

@m:Maybe<&2, Error> -> @+flags:U32 -> @+stream:U32 -> @+len:U32 -> @b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Checked

def inspect.promised source · line 167 · raw

@+kind:U32 -> @+flags:U32 -> @+stream:U32 -> @+len:U32 -> @+pad:U32 -> @b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Checked

def inspect.padded.if source · line 176 · raw

@padded:Bool -> @+kind:U32 -> @+flags:U32 -> @+stream:U32 -> @+len:U32 -> @b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Checked

def inspect.padded source · line 184 · raw

@+kind:U32 -> @+flags:U32 -> @+stream:U32 -> @+len:U32 -> @b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Checked

def inspect.detail source · line 187 · raw

@+kind:U32 -> @+flags:U32 -> @+stream:U32 -> @+len:U32 -> @b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Checked

def inspect.basic source · line 204 · raw

@m:Maybe<&2, Error> -> @+kind:U32 -> @+flags:U32 -> @+stream:U32 -> @+len:U32 -> @b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Checked

def inspect source · line 211 · raw

@max:U32 -> @+kind:U32 -> @+flags:U32 -> @+stream:U32 -> @b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Checked

def allowed source · line 220 · raw

@+kind:U32 -> U32

max is the peer's SETTINGS_MAX_FRAME_SIZE, initially 16384.

def encode.buffer source · line 245 · raw

@b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @src:Array<U32> -> @+len:U32 -> Result<&1, &1, Error, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes>

def encode.flags source · line 249 · raw

@ok:Bool -> @+kind:U32 -> @+flags:U32 -> @+stream:U32 -> @payload:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Result<&1, &1, Error, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes>

def encode.checked source · line 257 · raw

@c:Checked -> Result<&1, &1, Error, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes>

def encode source · line 263 · raw

@max:U32 -> @f:Frame -> Result<&1, &1, Error, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes>

def parse.result source · line 267 · raw

@c:Checked -> @b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @+len:U32 -> Decode

def parse.payload source · line 276 · raw

@max:U32 -> @+len:U32 -> @+kind:U32 -> @+flags:U32 -> @+stream:U32 -> @b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Decode

def parse.full source · line 280 · raw

@enough:Bool -> @max:U32 -> @+len:U32 -> @+kind:U32 -> @+flags:U32 -> @+stream:U32 -> @b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Decode

def parse.size source · line 287 · raw

@oversized:Bool -> @max:U32 -> @+len:U32 -> @+kind:U32 -> @+flags:U32 -> @+stream:U32 -> @b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Decode

def parse.header source · line 295 · raw

@+max:U32 -> @b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Decode

def parse.start source · line 302 · raw

@short:Bool -> @max:U32 -> @b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Decode

def parse source · line 310 · raw

@max:U32 -> @b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Decode

A partial header or payload returns Need with the original input intact.

def client.start source · line 338 · raw

Pair(Client, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes)

def client.frame source · line 344 · raw

@r:Result<&1, &1, Error, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes> -> Maybe<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes>

def client.headers.empty source · line 351 · raw

@first:Bool -> @end_stream:Bool -> @id:U32 -> @max:U32 -> @rev:List<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes> -> Maybe<&1, List<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes>>

def client.headers.go source · line 360 · raw

@n:Nat -> @+first:Bool -> @+end_stream:Bool -> @+id:U32 -> @+max:U32 -> @block:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @rev:List<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes> -> Maybe<&1, List<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes>>

def client.headers source · line 378 · raw

@end_stream:Bool -> @+id:U32 -> @+max:U32 -> @block:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Maybe<&1, List<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes>>

def client.min source · line 386 · raw

@+a:U32 -> @+b:U32 -> U32

def client.positive source · line 389 · raw

@+w:U32 -> U32

def client.available source · line 392 · raw

@+len:U32 -> @+max:U32 -> @+connection:U32 -> @+stream:U32 -> U32

def client.data.go source · line 395 · raw

@n:Nat -> @body:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @take:U32 -> @+id:U32 -> @+max:U32 -> @+connection:U32 -> @+stream:U32 -> @rev:List<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes> -> Maybe<&1, BodySent>

def client.data source · line 419 · raw

@+id:U32 -> @+max:U32 -> @+connection:U32 -> @+stream:U32 -> @body:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Maybe<&1, BodySent>

def client.limit source · line 424 · raw

@m:Maybe<&2, U32> -> @active:U32 -> Bool

def client.can source · line 431 · raw

@c:Control -> Bool

def client.id source · line 436 · raw

@c:Control -> U32

def client.frame_max source · line 440 · raw

@c:Control -> U32

def client.request.done source · line 444 · raw

@sent:BodySent -> @headers:List<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes> -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @c:Client -> Reply

def client.request.data source · line 455 · raw

@m:Maybe<&1, BodySent> -> @headers:List<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes> -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @c:Client -> Reply

def client.request.frames source · line 462 · raw

@m:Maybe<&1, List<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes>> -> @body:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @c:Client -> Reply

def client.request.body source · line 473 · raw

@r:Pair(0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes, U32) -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @block:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @c:Client -> Reply

def client.request.encoded source · line 479 · raw

@m:Maybe<&1, Pair(0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes)> -> @c:Client -> @body:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Reply

def client.request.ready source · line 486 · raw

@valid:Bool -> @c:Client -> @fields:List<&2, 0xc0a30c11b68a9aafb25795f94a58eba5/hpack.Field> -> @body:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Reply

def client.request source · line 495 · raw

@c:Client -> @fields:List<&2, 0xc0a30c11b68a9aafb25795f94a58eba5/hpack.Field> -> @body:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Reply

def client.fail source · line 499 · raw

@+code:U32 -> @+connection:Bool -> @+stream:U32 -> Reply

def client.ok source · line 502 · raw

@c:Client -> Reply

def client.after source · line 505 · raw

@r:Reply -> @k:(@_:Client -> @_:List<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes> -> @_:List<&1, ClientEvent> -> Reply) -> Reply

def client.write source · line 512 · raw

@m:Maybe<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes> -> @c:Client -> Reply

def client.ping source · line 519 · raw

@+flags:U32 -> @payload:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @c:Client -> Reply

def client.ping.request source · line 528 · raw

@c:Client -> @payload:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Reply

def client.window.add source · line 531 · raw

@valid:Bool -> @+w:U32 -> @+delta:U32 -> Maybe<&1, U32>

def client.window.adjust.sign source · line 538 · raw

@positive:Bool -> @+w:U32 -> @+delta:U32 -> Maybe<&1, U32>

def client.window.adjust source · line 547 · raw

@+w:U32 -> @+delta:U32 -> Maybe<&1, U32>

def client.window.plus.sign source · line 550 · raw

@positive:Bool -> @+w:U32 -> @+value:U32 -> Maybe<&1, U32>

def client.window.plus source · line 557 · raw

@+w:U32 -> @value:U32 -> Maybe<&1, U32>

def client.stream.adjust source · line 560 · raw

@s:Stream -> @delta:U32 -> Maybe<&1, Stream>

def client.streams.adjust source · line 566 · raw

@xs:List<&1, Stream> -> @+delta:U32 -> Maybe<&1, List<&1, Stream>>

def client.settings.initial.done source · line 575 · raw

@m:Maybe<&1, List<&1, Stream>> -> @input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> Reply

def client.settings.initial source · line 583 · raw

@+value:U32 -> @c:Client -> Reply

def client.settings.item source · line 593 · raw

@id:U32 -> @+value:U32 -> @c:Client -> Reply

def client.settings.go source · line 619 · raw

@n:Nat -> @b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @+at:U32 -> @c:Client -> Reply

def client.settings.mark source · line 629 · raw

@c:Client -> Client

def client.settings.ack source · line 637 · raw

@c:Client -> Reply

def client.settings source · line 649 · raw

@flags:U32 -> @payload:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @c:Client -> Reply

def client.streams.prefix source · line 659 · raw

@previous:Maybe<&1, Stream> -> @r:Reply -> Reply

def client.streams.go source · line 670 · raw

@xs:List<&1, Stream> -> @found:Bool -> @previous:Maybe<&1, Stream> -> @+target:U32 -> @k:(@_:Stream -> @_:List<&1, Stream> -> Reply) -> Reply

def client.streams.use source · line 699 · raw

@xs:List<&1, Stream> -> @target:U32 -> @k:(@_:Stream -> @_:List<&1, Stream> -> Reply) -> Reply

def client.flush.prepend source · line 705 · raw

@s:Stream -> @packets:List<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes> -> @tail:Flushed -> Flushed

def client.with_sent source · line 709 · raw

@-R:Type -> @sent:BodySent -> @k:(@_:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @_:Bool -> @_:U32 -> @_:U32 -> @_:List<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes> -> R) -> R

def client.flush.go source · line 714 · raw

@xs:List<&1, Stream> -> @+connection:U32 -> @+max:U32 -> Maybe<&1, Flushed>

def client.flush.done source · line 735 · raw

@m:Maybe<&1, Flushed> -> @input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> Reply

def client.window.connection.valid source · line 747 · raw

@m:Maybe<&1, U32> -> @c:Client -> Reply

def client.window.connection source · line 758 · raw

@+value:U32 -> @c:Client -> Reply

def client.window.stream.valid source · line 765 · raw

@m:Maybe<&1, U32> -> @+id:U32 -> @s:Stream -> @tail:List<&1, Stream> -> @input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @+control:Control -> Reply

def client.window.stream.handle source · line 778 · raw

@+value:U32 -> @s:Stream -> @tail:List<&1, Stream> -> @input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> Reply

def client.window.stream source · line 785 · raw

@id:U32 -> @+value:U32 -> @c:Client -> Reply

def client.window.route source · line 790 · raw

@stream:U32 -> @value:U32 -> @c:Client -> Reply

def client.window.update source · line 797 · raw

@stream:U32 -> @payload:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @c:Client -> Reply

def client.rst.stream source · line 801 · raw

@s:Stream -> @tail:List<&1, Stream> -> @+code:U32 -> @input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> Reply

def client.rst.code source · line 810 · raw

@id:U32 -> @+code:U32 -> @c:Client -> Reply

def client.rst source · line 815 · raw

@id:U32 -> @payload:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @c:Client -> Reply

def client.goaway.cons source · line 822 · raw

@keep:Bool -> @s:Stream -> @id:U32 -> @tail:Gone -> Gone

def client.goaway.filter source · line 831 · raw

@xs:List<&1, Stream> -> @+last:U32 -> Gone

def client.goaway.allowed source · line 841 · raw

@previous:Maybe<&2, U32> -> @last:U32 -> Bool

def client.goaway.finish source · line 848 · raw

@g:Gone -> @+last:U32 -> @code:U32 -> @input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> Reply

def client.goaway.valid source · line 858 · raw

@valid:Bool -> @+last:U32 -> @code:U32 -> @c:Client -> Reply

def client.goaway.body source · line 867 · raw

@+last:U32 -> @+code:U32 -> @c:Client -> Reply

def client.goaway source · line 874 · raw

@payload:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @c:Client -> Reply

def client.complete.ready source · line 879 · raw

@+id:U32 -> @headers:List<&2, 0xc0a30c11b68a9aafb25795f94a58eba5/hpack.Field> -> @body:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @tail:List<&1, Stream> -> @input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> @writes:List<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes> -> Reply

def client.complete.packet source · line 889 · raw

@m:Maybe<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes> -> @id:U32 -> @headers:List<&2, 0xc0a30c11b68a9aafb25795f94a58eba5/hpack.Field> -> @body:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @tail:List<&1, Stream> -> @input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> Reply

def client.complete source · line 898 · raw

@s:Stream -> @tail:List<&1, Stream> -> @input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> Reply

def client.fragment.slice source · line 910 · raw

@b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @+offset:U32 -> @+pad:U32 -> 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes

def client.fragment.padded source · line 915 · raw

@padded:Bool -> @+fixed:U32 -> @b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes

def client.fragment source · line 923 · raw

@+kind:U32 -> @+flags:U32 -> @b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes

def client.fragments.join source · line 927 · raw

@first:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @second:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes

def client.headers.interim.status source · line 935 · raw

@s:String -> Bool

def client.headers.interim source · line 942 · raw

@xs:List<&2, 0xc0a30c11b68a9aafb25795f94a58eba5/hpack.Field> -> Bool

def client.headers.interim.valid source · line 949 · raw

@valid:Bool -> @id:U32 -> @fields:List<&2, 0xc0a30c11b68a9aafb25795f94a58eba5/hpack.Field> -> @s:Stream -> @tail:List<&1, Stream> -> @input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> Reply

def client.headers.fields.select source · line 959 · raw

@interim:Bool -> @fields:List<&2, 0xc0a30c11b68a9aafb25795f94a58eba5/hpack.Field> -> @s:Stream -> @tail:List<&1, Stream> -> @input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> Reply

def client.headers.fields source · line 983 · raw

@+fields:List<&2, 0xc0a30c11b68a9aafb25795f94a58eba5/hpack.Field> -> @s:Stream -> @tail:List<&1, Stream> -> @input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> Reply

def client.headers.decoded source · line 988 · raw

@m:Maybe<&1, Pair(0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State, List<&2, 0xc0a30c11b68a9aafb25795f94a58eba5/hpack.Field>)> -> @s:Stream -> @tail:List<&1, Stream> -> @input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> Reply

def client.headers.finish source · line 997 · raw

@end_headers:Bool -> @s:Stream -> @tail:List<&1, Stream> -> @input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> Reply

def client.headers.accumulate source · line 1022 · raw

@end_headers:Bool -> @fragment:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @s:Stream -> @tail:List<&1, Stream> -> @input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> Reply

def client.headers.open.valid source · line 1032 · raw

@valid:Bool -> @+id:U32 -> @end_headers:Bool -> @end_stream:Bool -> @fragment:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @s:Stream -> @tail:List<&1, Stream> -> @input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> Reply

def client.headers.open source · line 1045 · raw

@end_headers:Bool -> @+end_stream:Bool -> @fragment:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @s:Stream -> @tail:List<&1, Stream> -> @input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> Reply

def client.headers.receive source · line 1055 · raw

@+id:U32 -> @+flags:U32 -> @payload:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @c:Client -> Reply

def client.continuation source · line 1063 · raw

@+id:U32 -> @+flags:U32 -> @payload:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @c:Client -> Reply

def client.data.updates.end source · line 1068 · raw

@end_stream:Bool -> @+count:U32 -> @id:U32 -> @connection:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Maybe<&1, List<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes>>

def client.data.updates source · line 1078 · raw

@+len:U32 -> @end_stream:Bool -> @+id:U32 -> Maybe<&1, List<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes>>

def client.data.content source · line 1087 · raw

@end_stream:Bool -> @content:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @writes:List<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes> -> @s:Stream -> @tail:List<&1, Stream> -> @input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> Reply

def client.data.content.updated source · line 1106 · raw

@m:Maybe<&1, List<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes>> -> @end_stream:Bool -> @content:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @s:Stream -> @tail:List<&1, Stream> -> @input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> Reply

def client.data.stream.state source · line 1115 · raw

@open:Bool -> @available:Bool -> @+id:U32 -> @+len:U32 -> @+end_stream:Bool -> @content:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @s:Stream -> @tail:List<&1, Stream> -> @input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> Reply

def client.data.stream source · line 1129 · raw

@+len:U32 -> @end_stream:Bool -> @content:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @s:Stream -> @tail:List<&1, Stream> -> @input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> Reply

def client.data.connection source · line 1139 · raw

@valid:Bool -> @+id:U32 -> @+flags:U32 -> @+len:U32 -> @payload:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @c:Client -> Reply

def client.data.receive source · line 1150 · raw

@+id:U32 -> @+flags:U32 -> @payload:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @c:Client -> Reply

def client.continuation.expected source · line 1158 · raw

@m:Maybe<&2, U32> -> @+kind:U32 -> @id:U32 -> Bool

def client.apply.allowed source · line 1165 · raw

@c:Control -> @+kind:U32 -> @flags:U32 -> @id:U32 -> Bool

def client.apply.frame source · line 1171 · raw

@kind:U32 -> @flags:U32 -> @id:U32 -> @payload:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @c:Client -> Reply

def client.apply.checked source · line 1196 · raw

@valid:Bool -> @kind:U32 -> @flags:U32 -> @id:U32 -> @payload:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @c:Client -> Reply

def client.apply source · line 1204 · raw

@f:Frame -> @c:Client -> Reply

def client.receive.advance source · line 1210 · raw

@c:Client -> @k:(@_:Decode -> @_:List<&1, Stream> -> @_:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @_:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @_:Control -> Reply) -> Reply

def client.receive.go source · line 1215 · raw

@n:Nat -> @d:Decode -> @streams:List<&1, Stream> -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> @rev_writes:List<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes> -> @rev_events:List<&1, ClientEvent> -> Reply

def client.receive.buffer source · line 1236 · raw

@b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @streams:List<&1, Stream> -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> Reply

def client.receive source · line 1242 · raw

@c:Client -> @chunk:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Reply