util.d 350 B

1234567891011121314
  1. module vibe.http.internal.http2.hpack.util;
  2. import std.range;
  3. // decode ubyte as integer representation according to prefix
  4. size_t toInteger(ubyte bbuf, uint prefix) @safe @nogc
  5. {
  6. assert(prefix < 8, "Prefix must be at most an octet long");
  7. bbuf = bbuf & ((1 << (8 - prefix)) - 1);
  8. assert(bbuf >= 0, "Invalid decoded integer");
  9. return bbuf;
  10. }