IBR-DTNSuite  0.8
dtn::net::LOWPANConvergenceLayer Class Reference

#include <LOWPANConvergenceLayer.h>

Inheritance diagram for dtn::net::LOWPANConvergenceLayer:
Collaboration diagram for dtn::net::LOWPANConvergenceLayer:

List of all members.

Public Member Functions

 LOWPANConvergenceLayer (ibrcommon::vinterface net, int panid, unsigned int mtu=115)
virtual ~LOWPANConvergenceLayer ()
void update (const ibrcommon::vinterface &iface, std::string &name, std::string &data) throw (dtn::net::DiscoveryServiceProvider::NoServiceHereException)
dtn::core::Node::Protocol getDiscoveryProtocol () const
void queue (const dtn::core::Node &n, const ConvergenceLayer::Job &job)
virtual const std::string getName () const
virtual void raiseEvent (const Event *evt)
virtual void send_cb (char *buf, int len, unsigned int address)
void remove (const LOWPANConnection *conn)

Static Public Attributes

static const size_t BUFF_SIZE = 113

Protected Member Functions

virtual void componentUp ()
virtual void componentRun ()
virtual void componentDown ()
void __cancellation ()
virtual void sendAnnoucement (const u_int16_t &sn, std::list< dtn::net::DiscoveryService > &services)

Detailed Description

This class implements a ConvergenceLayer for LOWPAN.

Definition at line 25 of file LOWPANConvergenceLayer.h.


Constructor & Destructor Documentation

dtn::net::LOWPANConvergenceLayer::LOWPANConvergenceLayer ( ibrcommon::vinterface  net,
int  panid,
unsigned int  mtu = 115 
)

Definition at line 30 of file LOWPANConvergenceLayer.cpp.

Definition at line 37 of file LOWPANConvergenceLayer.cpp.

References componentDown().

Here is the call graph for this function:


Member Function Documentation

void dtn::net::LOWPANConvergenceLayer::__cancellation ( ) [protected, virtual]

Implements dtn::daemon::IndependentComponent.

Definition at line 290 of file LOWPANConvergenceLayer.cpp.

References _running, and ibrcommon::lowpansocket::shutdown().

Here is the call graph for this function:

const std::string dtn::net::LOWPANConvergenceLayer::getName ( ) const [virtual]
See also:
Component::getName()

Implements dtn::daemon::Component.

Definition at line 296 of file LOWPANConvergenceLayer.cpp.

void dtn::net::LOWPANConvergenceLayer::queue ( const dtn::core::Node n,
const ConvergenceLayer::Job job 
) [virtual]

Queueing a job for a specific node. Starting point for the DTN core to submit bundles to nodes behind the LoWPAN CL

Parameters:
nNode reference
jobJob reference

Implements dtn::net::ConvergenceLayer.

Definition at line 104 of file LOWPANConvergenceLayer.cpp.

References dtn::net::LOWPANConnection::_sender, dtn::core::Node::CONN_LOWPAN, dtn::core::Node::URI::decode(), dtn::core::Node::get(), IBRCOMMON_LOGGER_DEBUG, IBRCOMMON_LOGGER_ENDL, and dtn::net::LOWPANConnectionSender::queue().

Here is the call graph for this function:

void dtn::net::LOWPANConvergenceLayer::send_cb ( char *  buf,
int  len,
unsigned int  address 
) [virtual]

Callback interface for sending data back from the lowpanstream to the CL

Parameters:
bufBuffer with a data frame
lenLength of the buffer
addressIEEE 802.15.4 short address of the destination

Implements ibrcommon::lowpanstream_callback.

Definition at line 73 of file LOWPANConvergenceLayer.cpp.

References sockaddr_ieee802154::addr, ibrcommon::lowpansocket::getAddress(), ibrcommon::lowpansocket::getPeer(), IBRCOMMON_LOGGER, IBRCOMMON_LOGGER_ENDL, ieee802154_addr::pan_id, ibrcommon::lowpansocket::peer::send(), and ieee802154_addr::short_addr.

Referenced by sendAnnoucement().

Here is the call graph for this function:

void dtn::net::LOWPANConvergenceLayer::update ( const ibrcommon::vinterface iface,
std::string &  name,
std::string &  data 
) throw (dtn::net::DiscoveryServiceProvider::NoServiceHereException) [virtual]

this method updates the given values

Implements dtn::net::DiscoveryServiceProvider.

Definition at line 48 of file LOWPANConvergenceLayer.cpp.

References sockaddr_ieee802154::addr, ieee802154_addr::addr_type, ibrcommon::lowpansocket::getAddress(), IEEE802154_ADDR_SHORT, ieee802154_addr::pan_id, and ieee802154_addr::short_addr.

Here is the call graph for this function:


Member Data Documentation

const size_t dtn::net::LOWPANConvergenceLayer::BUFF_SIZE = 113 [static]

Definition at line 61 of file LOWPANConvergenceLayer.h.


The documentation for this class was generated from the following files: