BinaryTokenizer.h
Go to the documentation of this file.
61 void reinput(const SBuf &data, const bool expectMore) { data_ = data; expectMore_ = expectMore; }
const BinaryTokenizerContext *const parent
enclosing context or nullptr
Definition: BinaryTokenizer.h:36
const BinaryTokenizerContext * context
debugging: thing being parsed
Definition: BinaryTokenizer.h:113
void reset(const SBuf &data, const bool expectMore)
Definition: BinaryTokenizer.cc:108
SBuf area(uint64_t size, const char *description)
parse size consecutive bytes as an opaque blob
Definition: BinaryTokenizer.cc:168
Ip::Address inet6(const char *description)
interpret the next 16 bytes as a raw in6_addr structure
Definition: BinaryTokenizer.cc:198
::Parser::InsufficientInput InsufficientInput
Definition: BinaryTokenizer.h:49
void commit()
make progress: future parsing failures will not rollback beyond this point
Definition: BinaryTokenizer.cc:120
uint32_t uint24(const char *description)
parse a three-byte unsigned integer (returned as uint32_t)
Definition: BinaryTokenizer.cc:150
SBuf pstring24(const char *description)
up to 16 MiB-long p-string!
Definition: BinaryTokenizer.cc:235
Definition: BinaryTokenizer.h:46
Ip::Address inetAny(const char *description)
Definition: BinaryTokenizer.cc:179
Ip::Address inet4(const char *description)
interpret the next 4 bytes as a raw in_addr structure
Definition: BinaryTokenizer.cc:192
void rollback()
resume [incremental] parsing from the last commit point
Definition: BinaryTokenizer.cc:114
void skip(uint64_t size, const char *description)
ignore the next size bytes
Definition: BinaryTokenizer.cc:204
uint8_t uint8(const char *description)
parse a single-byte unsigned integer
Definition: BinaryTokenizer.cc:132
void success()
reports successful parsing of a named object and calls close()
Definition: BinaryTokenizer.h:153
void skipped(uint64_t size, const char *description) const
debugging helper for skipped fields
Definition: BinaryTokenizer.cc:90
~BinaryTokenizerContext()
Definition: BinaryTokenizer.h:27
enables efficient debugging with concise field names: Hello.version.major
Definition: BinaryTokenizer.h:22
void got(uint64_t size, const char *description) const
debugging helper for parsed multi-field structures
Definition: BinaryTokenizer.cc:56
void reinput(const SBuf &data, const bool expectMore)
Definition: BinaryTokenizer.h:61
SBuf pstring8(const char *description)
up to 255 byte-long p-string
Definition: BinaryTokenizer.cc:217
BinaryTokenizerContext(BinaryTokenizer &tk, const char *aName)
starts parsing named object
Definition: BinaryTokenizer.h:136
void want(uint64_t size, const char *description) const
logs and throws if fewer than size octets remain; no other side effects
Definition: BinaryTokenizer.cc:45
uint16_t uint16(const char *description)
parse a two-byte unsigned integer
Definition: BinaryTokenizer.cc:141
uint32_t uint32(const char *description)
parse a four-byte unsigned integer
Definition: BinaryTokenizer.cc:159
Definition: Address.h:42
Introduction
- About Squid
- Why Squid?
- Squid Developers
- How to Donate
- How to Help Out
- Getting Squid
- Squid Source Packages
- Squid Deployment Case-Studies
- Squid Software Foundation
Documentation
- Quick Setup
- Configuration:
- FAQ and Wiki
- Guide Books:
- Non-English
- More...
Support
- Security Advisories
- Bugzilla Database
- Mailing lists
- Contacting us
- Commercial services
- Project Sponsors
- Squid-based products