IBR-DTNSuite 0.6

daemon/src/net/ConvergenceLayer.h

Go to the documentation of this file.
00001 #ifndef CONVERGENCELAYER_H_
00002 #define CONVERGENCELAYER_H_
00003 
00004 #include "ibrdtn/data/BundleID.h"
00005 #include "core/Node.h"
00006 
00007 using namespace dtn::data;
00008 
00009 namespace dtn
00010 {
00011         namespace net
00012         {
00013                 class BundleReceiver;
00014 
00018                 class ConvergenceLayer
00019                 {
00020                 public:
00021                         class Job
00022                         {
00023                         public:
00024                                 Job(const dtn::data::EID &eid, const dtn::data::BundleID &b);
00025                                 ~Job();
00026 
00027                                 dtn::data::BundleID _bundle;
00028                                 dtn::data::EID _destination;
00029                         };
00030 
00034                         virtual ~ConvergenceLayer() {};
00035 
00036                         virtual dtn::core::Node::Protocol getDiscoveryProtocol() const = 0;
00037 
00038                         virtual void queue(const dtn::core::Node &n, const ConvergenceLayer::Job &job) = 0;
00039 
00044                         virtual void open(const dtn::core::Node&) {};
00045                 };
00046         }
00047 }
00048 
00049 #endif /*CONVERGENCELAYER_H_*/