27 std::int32_t senf::Packet::pktCount_ = 0;
35 static std::int32_t noCount (-1);
63 ptr()->dump(os, dumpAnnotationsSwitch);
69 ptr()->impl().memDebug(os);
70 os <<
" handle @" <<
ptr().get() << std::endl;
std::string prettyName() const
static std::int32_t const & pktCount()
std::ostream & operator<<(std::ostream &os, Packet const &packet)
Internal: Base packet interpreter class.
Packet last() const
Return last packet in chain.
Packet next() const
Get next packet in chain.
void memDebug(std::ostream &os) const
OtherPacket parseNextAs() const
Interpret payload of this as OtherPacket.
senf::detail::packet::smart_pointer< PacketInterpreterBase >::ptr_t ptr
PacketInterpreterBase::ptr getNext(PacketInterpreterBase::optional_range const &range) const
void dump(std::ostream &os, DumpPacketAnnotations_t dumpAnnotationsSwitch=dumpAnnotations) const
Write out a printable packet representation.
unsigned long id() const
Unique packet id.
PacketInterpreterBase::ptr const & ptr() const
Packet first() const
Return first packet in chain.
boost::optional< range > optional_range
TypeIdValue typeId() const
Get type of this packet.
static factory_t factory()
Return factory for packets of specific type.
PacketInterpreterBase::factory_t factory_t
Packet factory type (see below)
void memDebug(std::ostream &os)
factory_t factory() const
Return factory instance of this packet.