#ifndef GRIDPROBESENDER_HH #define GRIDPROBESENDER_HH #include #include #include #include #include #include CLICK_DECLS /* * =c * GridProbeSender(E, I) * =s Grid * Produces a Grid route probe packet. * =d * * E and I are this node's ethernet and IP addresses, respectively. * When the element's send_probe handler is called, pushes a * GRID_ROUTE_PROBE packet for the specified destination, with the * specified nonce. This packet should probably be sent back through * the Grid input packet rocessing. * * =h send_probe write-only * arguments are the destination IP followed by a nonce, e.g: ``18.26.7.111 3242435'' * * * =a GridProbeReplyReceiver, GridProbeHandler, LookupLocalGridRoute */ class GridProbeSender : public Element { public: GridProbeSender(); ~GridProbeSender(); const char *class_name() const { return "GridProbeSender"; } const char *port_count() const { return PORTS_0_1; } const char *processing() const { return PUSH; } int configure(Vector &, ErrorHandler *); int initialize(ErrorHandler *); void send_probe(IPAddress &, unsigned int); void add_handlers(); private: IPAddress _ip; EtherAddress _eth; }; CLICK_ENDDECLS #endif