July 2007
Intermediate to advanced
332 pages
10h 4m
English
The filter class get_next_packet (Example 11-44) reads each packet from a packet trace in the input file.
Example 11-44. Filter to get the next packet
class get_next_packet : public tbb::filter {
istream& in_file;
public:
get_next_packet (ifstream& file) : in_file (file),
filter (true) {}
void* operator() (void*) {
packet_trace* packet = new packet_trace ();
in_file >> *packet;
if (packet->packetNic == empty) {
delete packet;
return NULL;
}
return packet;
}
};