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
Frame@kind:U32 -> @flags:U32 -> @stream:U32 -> @payload:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Frame
type Error source · line 9 · raw
Data
Error@code:U32 -> @connection:Bool -> @stream:U32 -> Error
type Decode source · line 12 · raw
Type
Need@input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Decode
Got@frame:Frame -> @rest:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Decode
Bad@error:Error -> Decode
type Checked source · line 17 · raw
Type
Valid@frame:Frame -> Checked
Invalid@error:Error -> Checked
type Stream source · line 315 · raw
Type
Send windows use U32 two's-complement; a SETTINGS change can make a stream window negative.
Stream@id:U32 -> @send_window:U32 -> @recv_window:U32 -> @local_end:Bool -> @remote_end:Bool -> @head:Bool -> @headers:List<&2, 0xc0a30c11b68a9aafb25795f94a58eba5/hpack.Field> -> @partial:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @body:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @outgoing:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Stream
type Control source · line 319 · raw
Data
Control@next:U32 -> @active:U32 -> @frame_max:U32 -> @initial:U32 -> @max_streams:Maybe<&2, U32> -> @send_window:U32 -> @recv_window:U32 -> @first:Bool -> @ack:Bool -> @continuation:Maybe<&2, U32> -> @goaway:Maybe<&2, U32> -> Control
type Client source · line 324 · raw
Type
Client@input:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @streams:List<&1, Stream> -> @encoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @decoder:0xc0a30c11b68a9aafb25795f94a58eba5/hpack.State -> @control:Control -> Client
type ClientEvent source · line 328 · raw
Type
Response@id:U32 -> @headers:List<&2, 0xc0a30c11b68a9aafb25795f94a58eba5/hpack.Field> -> @body:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> ClientEvent
Reset@id:U32 -> @code:U32 -> ClientEvent
Shutdown@last:U32 -> @code:U32 -> ClientEvent
Pong@data:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> ClientEvent
type Reply source · line 334 · raw
Type
Advanced@client:Client -> @writes:List<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes> -> @events:List<&1, ClientEvent> -> Reply
Failed@error:Error -> Reply
type BodySent source · line 382 · raw
Type
BodySent@remaining:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @ended:Bool -> @stream_window:U32 -> @connection_window:U32 -> @writes:List<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes> -> BodySent
type Flushed source · line 702 · raw
Type
Flushed@streams:List<&1, Stream> -> @connection:U32 -> @writes:List<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes> -> Flushed
type Gone source · line 819 · raw
Type
Gone@streams:List<&1, Stream> -> @active:U32 -> @events:List<&1, ClientEvent> -> Gone
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