#include <LOWPANConvergenceLayer.h>
Public Member Functions | |
| LOWPANConvergenceLayer (ibrcommon::NetInterface net, int panid, bool broadcast=false, unsigned int mtu=127) | |
| virtual | ~LOWPANConvergenceLayer () |
| virtual void | update (std::string &name, std::string &data) |
| virtual bool | onInterface (const ibrcommon::NetInterface &net) const |
| dtn::core::Node::Protocol | getDiscoveryProtocol () const |
| void | queue (const dtn::core::Node &n, const ConvergenceLayer::Job &job) |
| LOWPANConvergenceLayer & | operator>> (dtn::data::Bundle &) |
Protected Member Functions | |
| virtual void | componentUp () |
| virtual void | componentRun () |
| virtual void | componentDown () |
This class implement a ConvergenceLayer for LOWPAN.
Definition at line 20 of file LOWPANConvergenceLayer.h.
| dtn::net::LOWPANConvergenceLayer::LOWPANConvergenceLayer | ( | ibrcommon::NetInterface | net, | |
| int | panid, | |||
| bool | broadcast = false, |
|||
| unsigned int | mtu = 127 | |||
| ) |
Definition at line 41 of file LOWPANConvergenceLayer.cpp.
| dtn::net::LOWPANConvergenceLayer::~LOWPANConvergenceLayer | ( | ) | [virtual] |
Definition at line 47 of file LOWPANConvergenceLayer.cpp.
References componentDown(), and dtn::daemon::IndependentComponent::isRunning().
| void dtn::net::LOWPANConvergenceLayer::componentDown | ( | ) | [protected, virtual] |
Implements dtn::daemon::IndependentComponent.
Definition at line 152 of file LOWPANConvergenceLayer.cpp.
References ibrcommon::JoinableThread::join(), and ibrcommon::lowpansocket::shutdown().
Referenced by ~LOWPANConvergenceLayer().
| void dtn::net::LOWPANConvergenceLayer::componentRun | ( | void | ) | [protected, virtual] |
Implements dtn::daemon::IndependentComponent.
Definition at line 159 of file LOWPANConvergenceLayer.cpp.
References IBRCOMMON_LOGGER, IBRCOMMON_LOGGER_ENDL, dtn::net::BundleReceivedEvent::raise(), ibrcommon::Exception::what(), and ibrcommon::Thread::yield().
| void dtn::net::LOWPANConvergenceLayer::componentUp | ( | ) | [protected, virtual] |
Implements dtn::daemon::IndependentComponent.
Definition at line 137 of file LOWPANConvergenceLayer.cpp.
References ibrcommon::UnicastSocketLowpan::bind(), ibrcommon::NetInterface::getAddress(), IBRCOMMON_LOGGER, IBRCOMMON_LOGGER_ENDL, and ibrcommon::Exception::what().
| dtn::core::Node::Protocol dtn::net::LOWPANConvergenceLayer::getDiscoveryProtocol | ( | ) | const [virtual] |
Implements dtn::net::ConvergenceLayer.
Definition at line 57 of file LOWPANConvergenceLayer.cpp.
References dtn::core::Node::CONN_ZIGBEE.
| bool dtn::net::LOWPANConvergenceLayer::onInterface | ( | const ibrcommon::NetInterface & | net | ) | const [virtual] |
Reimplemented from dtn::net::DiscoveryServiceProvider.
Definition at line 70 of file LOWPANConvergenceLayer.cpp.
References ibrcommon::NetInterface::getInterface().
| LOWPANConvergenceLayer & dtn::net::LOWPANConvergenceLayer::operator>> | ( | dtn::data::Bundle & | bundle | ) |
Definition at line 115 of file LOWPANConvergenceLayer.cpp.
References dtn::core::BundleCore::getInstance(), and ibrcommon::lowpansocket::receive().
| void dtn::net::LOWPANConvergenceLayer::queue | ( | const dtn::core::Node & | n, | |
| const ConvergenceLayer::Job & | job | |||
| ) | [virtual] |
Implements dtn::net::ConvergenceLayer.
Definition at line 76 of file LOWPANConvergenceLayer.cpp.
References dtn::net::ConvergenceLayer::Job::_bundle, dtn::net::ConvergenceLayer::Job::_destination, dtn::core::BUNDLE_FORWARDED, dtn::core::Node::getAddress(), dtn::data::DefaultSerializer::getLength(), ibrcommon::lowpansocket::getPeer(), dtn::core::Node::getPort(), dtn::core::BundleEvent::raise(), dtn::net::TransferCompletedEvent::raise(), dtn::routing::RequeueBundleEvent::raise(), and ibrcommon::lowpansocket::peer::send().
| void dtn::net::LOWPANConvergenceLayer::update | ( | std::string & | name, | |
| std::string & | data | |||
| ) | [virtual] |
Updates an discovery service block with current values
| name | ||
| data |
Implements dtn::net::DiscoveryServiceProvider.
Definition at line 62 of file LOWPANConvergenceLayer.cpp.
References ibrcommon::NetInterface::getAddress().
1.6.3