#include <Component.h>
Public Member Functions | |
| IndependentComponent () | |
| virtual | ~IndependentComponent () |
| void | initialize () |
| void | startup () |
| void | terminate () |
| bool | isRunning () |
Protected Member Functions | |
| void | run () |
| virtual void | componentUp ()=0 |
| virtual void | componentRun ()=0 |
| virtual void | componentDown ()=0 |
Independent components are working in an own thread.
Definition at line 50 of file Component.h.
| dtn::daemon::IndependentComponent::IndependentComponent | ( | ) |
Definition at line 19 of file Component.cpp.
| dtn::daemon::IndependentComponent::~IndependentComponent | ( | ) | [virtual] |
Definition at line 24 of file Component.cpp.
References ibrcommon::JoinableThread::join().
| virtual void dtn::daemon::IndependentComponent::componentDown | ( | ) | [protected, pure virtual] |
Implemented in dtn::core::SimpleBundleStorage, dtn::core::SQLiteBundleStorage, dtn::core::WallClock, dtn::net::DiscoveryAgent, dtn::net::GenericServer< T >, dtn::net::HTTPConvergenceLayer, dtn::net::IPNDAgent, dtn::net::LOWPANConvergenceLayer, dtn::net::UDPConvergenceLayer, dtn::net::GenericServer< ClientHandler >, and dtn::net::GenericServer< TCPConvergenceLayer::TCPConnection >.
Referenced by terminate().
| virtual void dtn::daemon::IndependentComponent::componentRun | ( | ) | [protected, pure virtual] |
Implemented in dtn::core::SimpleBundleStorage, dtn::core::SQLiteBundleStorage, dtn::core::WallClock, dtn::net::DiscoveryAgent, dtn::net::GenericServer< T >, dtn::net::HTTPConvergenceLayer, dtn::net::IPNDAgent, dtn::net::LOWPANConvergenceLayer, dtn::net::UDPConvergenceLayer, dtn::net::GenericServer< ClientHandler >, and dtn::net::GenericServer< TCPConvergenceLayer::TCPConnection >.
Referenced by run().
| virtual void dtn::daemon::IndependentComponent::componentUp | ( | ) | [protected, pure virtual] |
Implemented in dtn::core::SimpleBundleStorage, dtn::core::SQLiteBundleStorage, dtn::core::WallClock, dtn::net::DiscoveryAgent, dtn::net::GenericServer< T >, dtn::net::HTTPConvergenceLayer, dtn::net::IPNDAgent, dtn::net::LOWPANConvergenceLayer, dtn::net::UDPConvergenceLayer, dtn::net::GenericServer< ClientHandler >, and dtn::net::GenericServer< TCPConvergenceLayer::TCPConnection >.
Referenced by initialize().
| void dtn::daemon::IndependentComponent::initialize | ( | ) | [virtual] |
Set up the component. At this stage no other components should be used.
Implements dtn::daemon::Component.
Definition at line 35 of file Component.cpp.
References componentUp().
Referenced by dtn::core::BundleCore::componentUp(), and dtn::net::TCPConvergenceLayer::initialize().
| bool dtn::daemon::IndependentComponent::isRunning | ( | void | ) |
Test if thread is currently running.
Reimplemented from ibrcommon::JoinableThread.
Definition at line 29 of file Component.cpp.
Referenced by dtn::net::HTTPConvergenceLayer::componentRun(), dtn::core::SQLiteBundleStorage::componentRun(), dtn::core::SimpleBundleStorage::componentRun(), dtn::daemon::ApiServer::~ApiServer(), dtn::net::LOWPANConvergenceLayer::~LOWPANConvergenceLayer(), dtn::net::UDPConvergenceLayer::~UDPConvergenceLayer(), and dtn::core::WallClock::~WallClock().
| void dtn::daemon::IndependentComponent::run | ( | ) | [protected, virtual] |
Abstract interface for thread context run method.
Implements ibrcommon::Thread.
Definition at line 58 of file Component.cpp.
References componentRun().
| void dtn::daemon::IndependentComponent::startup | ( | ) | [virtual] |
Start up the component. At this stage all other components are ready.
Implements dtn::daemon::Component.
Definition at line 40 of file Component.cpp.
References ibrcommon::JoinableThread::start().
Referenced by dtn::core::BundleCore::componentUp(), and dtn::net::TCPConvergenceLayer::startup().
| void dtn::daemon::IndependentComponent::terminate | ( | ) | [virtual] |
Terminate the component and do some cleanup stuff. All other components still exists, but may not serve signals.
Implements dtn::daemon::Component.
Definition at line 48 of file Component.cpp.
References componentDown().
Referenced by dtn::core::BundleCore::componentDown(), and dtn::net::TCPConvergenceLayer::terminate().
1.6.3