52 const char *data =
static_cast<const char *
>(d);
62 while ((ofs < size) && (data[ofs] !=
';'))
71 while ((ofs < size) && (data[ofs] !=
':'))
88 while ((ofs < size) && (data[ofs] !=
':'))
134 LOG(
VERBOSE,
"segment %zu total %zu", size, total_);
MessageSegmenter * create_gc_message_segmenter()
Creates a message segmenter for gridconnect data.
MessageSegmenter * create_trivial_message_segmenter()
Creates a message segmenter for arbitrary data.
Message segmenter that chops incoming byte stream into gridconnect packets.
uint32_t packetLen_
How many bytes long this packet is.
void clear() override
Resets internal state machine.
uint32_t isGcPacket_
True if the current packet is a gridconnect packet; false if it is garbage.
ssize_t segment_message(const void *d, size_t size) override
Makes a segmenting decision given more input data.
Message segmenter that keeps each packet as-is.
ssize_t segment_message(const void *d, size_t size) override
Makes a segmenting decision given more input data.
void clear() override
Resets internal state machine.
Abstract base class for segmenting a byte stream typed input into meaningful packet sized chunks.
#define LOG(level, message...)
Conditionally write a message to the logging output.
static const int VERBOSE
Loglevel that is usually not printed, reporting debugging information.