00001 #ifndef _TAPIFACE2_H__
00002 #define _TAPIFACE2_H__
00003
00004 #include <awds/tapiface.h>
00005
00006 namespace awds {
00007 class TapInterface2 : public TapInterface {
00008
00009 public:
00010 TapInterface2(Routing *routing) :
00011 TapInterface(routing)
00012 {}
00013
00014 virtual ~TapInterface2() {}
00015
00016 virtual bool setIfaceHwAddress(const NodeId& id);
00017
00024 virtual bool getNodeForMacAddress(const char* mac, NodeId& id, gea::AbsTime t);
00025
00029 virtual void storeSrcAndMac(const NodeId &id, const char *bufO, gea::AbsTime t);
00030
00031 protected:
00032
00033 struct MacEntry {
00034 NodeId id;
00035 gea::AbsTime validity;
00036 };
00037
00038 typedef std::map<NodeId, struct MacEntry> MacTable;
00039 MacTable macTable;
00040
00041 };
00042 }
00043 #endif //TAPIFACE2_H__
00044
00045
00046
00047
00048
00049