dtnsim::SimpleNode Class Reference

#include <SimpleNode.h>

Inheritance diagram for dtnsim::SimpleNode:

dtnsim::Node dtnsim::SimEventHandler dtn::BundleDaemon dtn::BundleEventHandler oasys::Thread oasys::Logger

List of all members.


Detailed Description

Definition at line 28 of file SimpleNode.h.


Public Member Functions

 SimpleNode (int id, const char *logpath)
virtual ~SimpleNode ()
virtual void process (Event *e)
 Virtual functions from Node.
virtual void chewing_complete (SimContact *c, double size, Message *msg)
virtual void open_contact (SimContact *c)
 Send any pending message over the new contact.
virtual void close_contact (SimContact *c)
virtual void message_received (Message *msg)

Private Member Functions

virtual void forward (Message *msg)
 Find any available contact and forward the message on it.

Private Attributes

std::vector< Message * > msgq_

Constructor & Destructor Documentation

dtnsim::SimpleNode::SimpleNode ( int  id,
const char *  logpath 
)

Definition at line 21 of file SimpleNode.cc.

dtnsim::SimpleNode::~SimpleNode (  )  [virtual]

Definition at line 26 of file SimpleNode.cc.


Member Function Documentation

void dtnsim::SimpleNode::process ( Event *  e  )  [virtual]

Virtual functions from Node.

Definition at line 134 of file SimpleNode.cc.

References dtnsim::Message::id(), log_info, message_received(), dtnsim::Message::set_size(), and dtnsim::Message::size().

void dtnsim::SimpleNode::chewing_complete ( SimContact c,
double  size,
Message msg 
) [virtual]

If the whole message is not sent create a new message (using the clone function) and sets its offsets appropriately.

Definition at line 30 of file SimpleNode.cc.

References dtnsim::Message::clone(), forward(), dtnsim::Message::id(), log_info, dtnsim::Message::rm_bytes(), and dtnsim::Message::size().

void dtnsim::SimpleNode::open_contact ( SimContact c  )  [virtual]

Send any pending message over the new contact.

Definition at line 91 of file SimpleNode.cc.

References dtnsim::SimContact::chew_message(), dtnsim::Message::id(), dtnsim::is_relevant(), log_debug, and msgq_.

void dtnsim::SimpleNode::close_contact ( SimContact c  )  [virtual]

Definition at line 110 of file SimpleNode.cc.

void dtnsim::SimpleNode::message_received ( Message msg  )  [virtual]

Definition at line 117 of file SimpleNode.cc.

References dtnsim::Message::dst(), forward(), dtnsim::Message::id(), log_info, and dtnsim::Message::size().

Referenced by process().

void dtnsim::SimpleNode::forward ( Message msg  )  [private, virtual]

Find any available contact and forward the message on it.

Definition at line 71 of file SimpleNode.cc.

References dtnsim::SimContact::chew_message(), dtnsim::SimContact::is_open(), dtnsim::is_relevant(), msgq_, and dtnsim::SimContact::src().

Referenced by chewing_complete(), and message_received().


Member Data Documentation

std::vector<Message*> dtnsim::SimpleNode::msgq_ [private]

Definition at line 48 of file SimpleNode.h.

Referenced by forward(), and open_contact().


The documentation for this class was generated from the following files:
Generated on Sat Sep 8 08:43:49 2007 for DTN Reference Implementation by  doxygen 1.5.3