~/bend-docscommunity

huffman.bend checks

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

RFC 7541 Appendix B Huffman alphabet and streaming codec.

2 imports
import Base
import bend-kit-bytes@0.3.1.0/bytes.bend as Bytes

Types

type Code source · line 5 · raw

Data

type Builder source · line 1158 · raw

Type

type Decoder source · line 1216 · raw

Data

Definitions

def code source · line 8 · raw

@+octet:U32 -> Code

def width.of source · line 527 · raw

@c:Code -> U32

def width source · line 532 · raw

@+octet:U32 -> U32

def symbol source · line 535 · raw

@+width:U32 -> @+bits:U32 -> Maybe<&2, U32>

def size.valid source · line 1138 · raw

@ok:Bool -> @+total:U32 -> @+n:U32 -> Maybe<&2, U32>

def size.one source · line 1144 · raw

@+octet:U32 -> @+total:U32 -> Maybe<&2, U32>

def size source · line 1149 · raw

@s:String -> @+total:U32 -> Maybe<&2, U32>

def emit.full source · line 1161 · raw

@full:Bool -> @out:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @+at:U32 -> @+partial:U32 -> @+bits:U32 -> Builder

def emit.bit source · line 1168 · raw

@+bit:U32 -> @st:Builder -> Builder

def emit.bits source · line 1172 · raw

@n:Nat -> @+code:U32 -> @st:Builder -> Builder

def emit.code source · line 1180 · raw

@c:Code -> @st:Builder -> Builder

def encode.go source · line 1185 · raw

@s:String -> @st:Builder -> Builder

def encode.last source · line 1192 · raw

@more:Bool -> @out:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @+at:U32 -> @+partial:U32 -> @+bits:U32 -> 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes

def encode.finish source · line 1199 · raw

@st:Builder -> 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes

def encode.ready source · line 1204 · raw

@s:String -> @m:Maybe<&2, U32> -> Maybe<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes>

def encode source · line 1213 · raw

@+s:String -> Maybe<&1, 0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes>

HPACK text is a byte string: code points above 255 are rejected.

def decode.found source · line 1219 · raw

@+octet:U32 -> @rev:String -> Maybe<&2, Decoder>

def decode.pending source · line 1226 · raw

@ok:Bool -> @+bits:U32 -> @+width:U32 -> @rev:String -> Maybe<&2, Decoder>

def decode.symbol source · line 1232 · raw

@m:Maybe<&2, U32> -> @+bits:U32 -> @+width:U32 -> @rev:String -> Maybe<&2, Decoder>

def decode.bit source · line 1240 · raw

@d:Decoder -> @+bit:U32 -> Maybe<&2, Decoder>

def decode.step source · line 1246 · raw

@n:Nat -> @+byte:U32 -> @d:Decoder -> Maybe<&2, Decoder>

def with_number.got source · line 1256 · raw

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

def with_number source · line 1262 · raw

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

def decode.go source · line 1267 · raw

@n:Nat -> @b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> @+at:U32 -> @d:Decoder -> Maybe<&2, Decoder>

def decode.tail source · line 1277 · raw

@ok:Bool -> @rev:String -> Maybe<&2, String>

def decode.finish source · line 1284 · raw

@m:Maybe<&2, Decoder> -> Maybe<&2, String>

def decode source · line 1291 · raw

@b:0xb7603dcfa1d7f60d01e06c928738cc73/bytes.Bytes -> Maybe<&2, String>