IBR-DTN
1.0.0
|
#include <DTNTPWorker.h>
Classes | |
class | TimeSyncMessage |
class | TimeSyncState |
Public Member Functions | |
DTNTPWorker () | |
virtual | ~DTNTPWorker () |
void | callbackBundleReceived (const Bundle &b) |
void | raiseEvent (const dtn::core::TimeEvent &evt) throw () |
void | onUpdateBeacon (const ibrcommon::vinterface &iface, DiscoveryBeacon &announcement) throw (NoServiceHereException) |
![]() | |
AbstractWorker () | |
virtual | ~AbstractWorker () |
virtual const EID | getWorkerURI () const |
![]() | |
virtual | ~EventReceiver () |
![]() | |
virtual | ~DiscoveryBeaconHandler ()=0 |
virtual void | onAdvertiseBeacon (const ibrcommon::vinterface &iface, const DiscoveryBeacon &beacon) throw () |
Static Public Member Functions | |
static const TimeSyncState & | getState () |
Additional Inherited Members | |
![]() | |
void | initialize (const std::string &uri) |
void | transmit (dtn::data::Bundle &bundle) |
void | shutdown () |
void | subscribe (const dtn::data::EID &endpoint) |
void | unsubscribe (const dtn::data::EID &endpoint) |
![]() | |
dtn::data::EID | _eid |
Definition at line 36 of file DTNTPWorker.h.
dtn::daemon::DTNTPWorker::DTNTPWorker | ( | ) |
Constructor
Definition at line 66 of file DTNTPWorker.cpp.
References dtn::core::EventDispatcher< E >::add(), dtn::daemon::DTNTPWorker::TimeSyncState::base_rating, dtn::daemon::Configuration::TimeSync::doSync(), dtn::core::BundleCore::getDiscoveryAgent(), dtn::core::BundleCore::getInstance(), dtn::daemon::Configuration::getInstance(), dtn::daemon::Configuration::TimeSync::getPsi(), dtn::daemon::Configuration::TimeSync::getSigma(), dtn::daemon::Configuration::TimeSync::getSyncLevel(), dtn::utils::Clock::getTime(), dtn::daemon::Configuration::getTimeSync(), dtn::daemon::Configuration::TimeSync::hasReference(), dtn::daemon::DTNTPWorker::TimeSyncState::psi, dtn::net::DiscoveryAgent::registerService(), dtn::daemon::Configuration::TimeSync::sendDiscoveryBeacons(), dtn::utils::Clock::setRating(), dtn::daemon::DTNTPWorker::TimeSyncState::sigma, and dtn::daemon::DTNTPWorker::TimeSyncState::sync_threshold.
|
virtual |
Destructor
Definition at line 111 of file DTNTPWorker.cpp.
References dtn::core::BundleCore::getDiscoveryAgent(), dtn::core::BundleCore::getInstance(), dtn::core::EventDispatcher< E >::remove(), and dtn::net::DiscoveryAgent::unregisterService().
|
virtual |
This method is called every time a bundles is received for this endpoint.
b |
Implements dtn::core::AbstractWorker.
Definition at line 481 of file DTNTPWorker.cpp.
References dtn::data::Bundle::begin(), dtn::data::AgeBlock::BLOCK_TYPE, dtn::data::PrimaryBlock::destination, dtn::data::PrimaryBlock::DESTINATION_IS_SINGLETON, dtn::data::Bundle::end(), dtn::data::Bundle::find(), dtn::data::SDNV< E >::get(), dtn::data::PayloadBlock::getBLOB(), dtn::data::AgeBlock::getMicroseconds(), dtn::data::EID::getNode(), dtn::utils::Clock::getRating(), dtn::data::AgeBlock::getSeconds(), dtn::data::EID::getString(), dtn::utils::Clock::gettimeofday(), dtn::data::PrimaryBlock::lifetime, dtn::core::BundleCore::local, dtn::data::PrimaryBlock::PRIORITY_BIT1, dtn::data::PrimaryBlock::PRIORITY_BIT2, dtn::data::Bundle::push_front(), dtn::data::PrimaryBlock::relabel(), dtn::data::EID::sameHost(), dtn::data::PrimaryBlock::set(), dtn::data::ScopeControlHopLimitBlock::setLimit(), dtn::data::BundleID::source, TAG, dtn::daemon::DTNTPWorker::TimeSyncMessage::TIMESYNC_REQUEST, dtn::daemon::DTNTPWorker::TimeSyncMessage::TIMESYNC_RESPONSE, dtn::utils::Clock::toDouble(), dtn::core::AbstractWorker::transmit(), and dtn::daemon::DTNTPWorker::TimeSyncMessage::type.
|
static |
Get the global time sync state
Definition at line 666 of file DTNTPWorker.cpp.
|
virtual |
This message is called by the discovery module.
iface | |
name | |
data |
Reimplemented from dtn::net::DiscoveryBeaconHandler.
Definition at line 383 of file DTNTPWorker.cpp.
References dtn::utils::Clock::getRating(), dtn::utils::Clock::getTime(), and dtn::data::SDNV< E >::toString().
|
virtual |
This method is called by the EventSwitch.
evt |
evaluate the current local time
Implements dtn::core::EventReceiver< dtn::core::TimeEvent >.
Definition at line 188 of file DTNTPWorker.cpp.
References dtn::daemon::DTNTPWorker::TimeSyncState::base_rating, dtn::core::BundleCore::getConnectionManager(), dtn::core::BundleCore::getInstance(), dtn::utils::Clock::getMonotonicTimestamp(), dtn::net::ConnectionManager::getNeighbors(), dtn::utils::Clock::getRating(), dtn::data::EID::isNone(), dtn::daemon::DTNTPWorker::TimeSyncState::last_sync_set, dtn::daemon::DTNTPWorker::TimeSyncState::last_sync_time, dtn::utils::Clock::setRating(), dtn::daemon::DTNTPWorker::TimeSyncState::sigma, dtn::core::TIME_SECOND_TICK, and dtn::daemon::DTNTPWorker::TimeSyncState::toDouble().