00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _NODE2_H_
00019 #define _NODE2_H_
00020
00021
00022
00023
00024
00025
00026 #include "Node.h"
00027
00028 namespace dtnsim {
00029
00030
00031
00032 class GlueNode : public Processable, public oasys::Logger {
00033
00034 public:
00035 static long next() {
00036 return total_ ++ ;
00037 }
00038
00039
00040 Node(int id);
00041 virtual ~Node();
00042
00043 virtual void process(Event *e);
00044 int id() { return id_ ;}
00045
00046
00047 virtual void chewing_complete(Contact* c, double size, Message* msg);
00048 virtual void open_contact(Contact* c);
00049 virtual void close_contact(Contact* c);
00050 virtual void forward(Message* msg);
00051
00052 private:
00053 static long total_;
00054 int id_;
00055 std::vector<Message*> msgq_;
00056
00057 };
00058
00059 }
00060
00061 #endif