#ifndef CLICK_TONSTRACE_HH #define CLICK_TONSTRACE_HH #include #include #include "simpacketanalyzer.hh" CLICK_DECLS /* =c ToSimTrace() =s traces adds trace entries to an ns2 trace file =io One input, one output =d This element allows you to add trace entries to an ns2 trace file. The event id is used to set "r" (receive), "f" (forward), "D" (drop), "s" (send) or any other id. The timestamp is set to the current time. The packet length that is traced is obtained from packet->length(). Additional info is added behind the entry. This is not ns2 default behaviour, but since the packets are traced as raw at the ns2 level, ToSimTrace traces the packets as raw as well, but to distinguish you can add the packet type in additional info or use a SimPacketAnalyzer). =a SimPacketAnalyzer */ class ToSimTrace:public Element{ public: ToSimTrace(); ~ToSimTrace(); const char* class_name() const { return "ToSimTrace"; } const char* processing() const { return PUSH; } const char* port_count() const { return PORTS_1_1; } int configure(Vector &conf, ErrorHandler *errh); void push(int, Packet *packet); private: String event_; String additional_info_; SimPacketAnalyzer *_packetAnalyzer; String _encap; int _offset; bool _checkPaint; }; CLICK_ENDDECLS #endif