#include <PacketFilter.h>
Inheritance diagram for PacketFilter:
Public Member Functions | |
virtual PacketFilter * | clone (void) const =0 |
virtual bool | match (const TraceIterator &pkt) const =0 |
Match a packet against a packet filter. | |
virtual bool | match (const StreamKey &key) const =0 |
Match a StreamKey representing a Trace against a packet filter. | |
virtual std::string | toString (void) const =0 |
Static Public Member Functions | |
static PacketFilter * | parse (const std::string &filterString) |
Friends | |
std::ostream & | operator<< (std::ostream &os, const PacketFilter &filter) |
Filtering is only permitted on intrinsic attributes; that is, attributes that can be computed from the packet itself, devoid of any context. e.g. filtering on frame.time_delta is not currently supported. This is because trying to deal with relative attributes in this architecture will be bloody difficult.
PacketFilter is an abstract (pure virtual) class which defines the interface to its subclasses.
|
Match a StreamKey representing a Trace against a packet filter. Used to determine if all packets in a Trace are guaranteed to match the filter. Implemented in SimplePacketFilter, CompoundPacketFilter, and ConsecutivePacketFilter. |
|
Match a packet against a packet filter. Match is done against a TraceIterator (a custom iterator defined relative to a Trace) so that the filter has access to relative features (e.g. frame.time_delta) Implemented in SimplePacketFilter, CompoundPacketFilter, and ConsecutivePacketFilter.
|
|
parser to generate packet filters from a filter string
|