|
IBR-DTNSuite 0.6
|
#include "config.h"#include <ibrcommon/data/BLOB.h>#include <ibrcommon/data/File.h>#include <ibrcommon/AutoDelete.h>#include <ibrcommon/net/vinterface.h>#include <ibrcommon/Logger.h>#include <ibrcommon/net/LinkManager.h>#include <ibrdtn/utils/Clock.h>#include <list>#include "core/BundleCore.h"#include "core/EventSwitch.h"#include "core/BundleStorage.h"#include "core/MemoryBundleStorage.h"#include "core/SimpleBundleStorage.h"#include "core/Node.h"#include "core/GlobalEvent.h"#include "core/NodeEvent.h"#include "routing/BaseRouter.h"#include "routing/StaticRoutingExtension.h"#include "routing/NeighborRoutingExtension.h"#include "routing/epidemic/EpidemicRoutingExtension.h"#include "routing/flooding/FloodRoutingExtension.h"#include "routing/RetransmissionExtension.h"#include "net/UDPConvergenceLayer.h"#include "net/TCPConvergenceLayer.h"#include "net/IPNDAgent.h"#include "api/ApiServer.h"#include "Configuration.h"#include "EchoWorker.h"#include "CapsuleWorker.h"#include "Notifier.h"#include "DevNull.h"#include "StatisticLogger.h"#include "Component.h"#include <csignal>#include <sys/types.h>#include <syslog.h>#include <set>#include <pwd.h>#include "Debugger.h"
Go to the source code of this file.
Defines | |
| #define | UNIT_MB * 1048576 |
Functions | |
| void | sighandler (int signal) |
| void | switchUser (Configuration &config) |
| void | setGlobalVars (Configuration &config) |
| void | createBundleStorage (BundleCore &core, Configuration &conf, std::list< dtn::daemon::Component * > &components) |
| void | createConvergenceLayers (BundleCore &core, Configuration &conf, std::list< dtn::daemon::Component * > &components, dtn::net::IPNDAgent *ipnd) |
| int | __daemon_run (Configuration &conf) |
| int | main (int argc, char *argv[]) |
Variables | |
| unsigned char | logopts = ibrcommon::Logger::LOG_DATETIME | ibrcommon::Logger::LOG_LEVEL |
| const unsigned char | logerr = ibrcommon::Logger::LOGGER_ERR | ibrcommon::Logger::LOGGER_CRIT |
| const unsigned char | logstd = ~(ibrcommon::Logger::LOGGER_DEBUG | ibrcommon::Logger::LOGGER_ERR | ibrcommon::Logger::LOGGER_CRIT) |
| const unsigned char | logsys = ~(ibrcommon::Logger::LOGGER_DEBUG | ibrcommon::Logger::LOGGER_NOTICE) |
| bool | _debug = false |
| int __daemon_run | ( | Configuration & | conf | ) |
initialize all components!
run all components!
terminate all components!
Definition at line 390 of file Main.cpp.
References _debug, dtn::core::BundleCore::addConnection(), dtn::routing::BaseRouter::addExtension(), dtn::daemon::Configuration::Statistic::address(), dtn::daemon::Configuration::Discovery::address(), ibrcommon::Logger::addStream(), dtn::net::IPNDAgent::bind(), createBundleStorage(), createConvergenceLayers(), dtn::daemon::Configuration::Daemon::daemonize(), dtn::daemon::Configuration::Logger::display_timestamps(), dtn::daemon::Configuration::doAPI(), dtn::daemon::Configuration::Network::doDynamicRebind(), dtn::daemon::Configuration::Network::doForwarding(), ibrcommon::vinterface::empty(), ibrcommon::Logger::enableAsync(), dtn::daemon::Configuration::Statistic::enabled(), dtn::daemon::Configuration::Discovery::enabled(), dtn::daemon::Configuration::Security::enabled(), dtn::daemon::Configuration::Debug::enabled(), ibrcommon::Logger::enableSyslog(), dtn::core::BundleCore::forwarding, dtn::daemon::Configuration::getAPIInterface(), dtn::daemon::Configuration::getAPISocket(), dtn::daemon::Configuration::getDaemon(), dtn::daemon::Configuration::getDebug(), dtn::daemon::Configuration::getDiscovery(), dtn::core::EventSwitch::getInstance(), dtn::core::BundleCore::getInstance(), dtn::security::SecurityKeyManager::getInstance(), dtn::daemon::Configuration::Network::getInterfaces(), dtn::daemon::Configuration::Logger::getLogfile(), dtn::daemon::Configuration::getLogger(), dtn::daemon::Configuration::getNetwork(), dtn::daemon::Configuration::getNotifyCommand(), ibrcommon::File::getPath(), dtn::daemon::Configuration::Network::getRoutingExtension(), dtn::daemon::Configuration::getSecurity(), dtn::daemon::Configuration::Network::getStaticNodes(), dtn::daemon::Configuration::Network::getStaticRoutes(), dtn::daemon::Configuration::getStatistic(), dtn::core::BundleCore::getStorage(), dtn::core::GlobalEvent::GLOBAL_SHUTDOWN, IBRCOMMON_LOGGER, IBRCOMMON_LOGGER_DEBUG, IBRCOMMON_LOGGER_ENDL, dtn::daemon::IntegratedComponent::initialize(), ibrcommon::LinkManager::initialize(), dtn::daemon::Configuration::NetConfig::interface, dtn::daemon::Configuration::Statistic::interval(), ibrcommon::vaddress::isMulticast(), dtn::daemon::Configuration::Debug::level(), dtn::daemon::Configuration::load(), ibrcommon::Logger::LOG_DATETIME, ibrcommon::Logger::LOG_TIMESTAMP, logerr, dtn::daemon::Configuration::Statistic::logfile(), ibrcommon::Logger::LOGGER_DEBUG, dtn::daemon::StatisticLogger::LOGGER_FILE_CSV, dtn::daemon::StatisticLogger::LOGGER_FILE_PLAIN, dtn::daemon::StatisticLogger::LOGGER_FILE_STAT, dtn::daemon::StatisticLogger::LOGGER_STDOUT, dtn::daemon::StatisticLogger::LOGGER_SYSLOG, dtn::daemon::StatisticLogger::LOGGER_UDP, logopts, logstd, logsys, dtn::core::EventSwitch::loop(), dtn::daemon::Configuration::Statistic::port(), dtn::daemon::Configuration::NetConfig::port, dtn::daemon::Configuration::Discovery::port(), dtn::daemon::Configuration::Debug::quiet(), dtn::core::GlobalEvent::raise(), setGlobalVars(), ibrcommon::Logger::setVerbosity(), sighandler(), dtn::daemon::IntegratedComponent::startup(), ibrcommon::Logger::stop(), switchUser(), dtn::daemon::IntegratedComponent::terminate(), ibrcommon::vinterface::toString(), dtn::daemon::Configuration::Statistic::type(), ibrcommon::vaddress::VADDRESS_INET, and dtn::daemon::Configuration::version().
Referenced by main().
| void createBundleStorage | ( | BundleCore & | core, |
| Configuration & | conf, | ||
| std::list< dtn::daemon::Component * > & | components | ||
| ) |
Definition at line 217 of file Main.cpp.
References ibrcommon::File::createDirectory(), ibrcommon::File::exists(), dtn::daemon::Configuration::getLimit(), ibrcommon::File::getPath(), dtn::daemon::Configuration::getPath(), dtn::daemon::Configuration::getStorage(), IBRCOMMON_LOGGER, IBRCOMMON_LOGGER_ENDL, and dtn::core::BundleCore::setStorage().
Referenced by __daemon_run().

| void createConvergenceLayers | ( | BundleCore & | core, |
| Configuration & | conf, | ||
| std::list< dtn::daemon::Component * > & | components, | ||
| dtn::net::IPNDAgent * | ipnd | ||
| ) |
Definition at line 285 of file Main.cpp.
References dtn::core::BundleCore::addConvergenceLayer(), dtn::net::DiscoveryAgent::addService(), dtn::net::TCPConvergenceLayer::bind(), dtn::daemon::Configuration::Network::getInterfaces(), dtn::daemon::Configuration::getNetwork(), IBRCOMMON_LOGGER, IBRCOMMON_LOGGER_ENDL, dtn::daemon::Configuration::NetConfig::interface, dtn::daemon::Configuration::NetConfig::port, ibrcommon::vinterface::toString(), dtn::daemon::Configuration::NetConfig::type, dtn::daemon::Configuration::NetConfig::url, and ibrcommon::Exception::what().
Referenced by __daemon_run().

| int main | ( | int | argc, |
| char * | argv[] | ||
| ) |
Definition at line 753 of file Main.cpp.
References __daemon_run(), dtn::daemon::Configuration::Daemon::daemonize(), dtn::daemon::Configuration::getDaemon(), ibrcommon::File::getPath(), dtn::daemon::Configuration::Daemon::getPidFile(), dtn::daemon::Configuration::Daemon::kill_daemon(), and dtn::daemon::Configuration::params().

| void setGlobalVars | ( | Configuration & | config | ) |
Definition at line 165 of file Main.cpp.
References dtn::core::BundleCore::blocksizelimit, ibrcommon::File::createDirectory(), dtn::daemon::Configuration::getLimit(), dtn::daemon::Configuration::getNodename(), dtn::daemon::Configuration::getPath(), dtn::daemon::Configuration::getTimezone(), IBRCOMMON_LOGGER, IBRCOMMON_LOGGER_ENDL, dtn::core::BundleCore::local, dtn::utils::Clock::timezone, and ibrcommon::BLOB::tmppath.
Referenced by __daemon_run().

| void sighandler | ( | int | signal | ) |
Definition at line 102 of file Main.cpp.
References _debug, ibrcommon::Logger::addStream(), dtn::core::GlobalEvent::GLOBAL_RELOAD, dtn::core::GlobalEvent::GLOBAL_SHUTDOWN, IBRCOMMON_LOGGER, IBRCOMMON_LOGGER_ENDL, ibrcommon::Logger::LOGGER_DEBUG, logopts, dtn::core::GlobalEvent::raise(), and ibrcommon::Logger::setVerbosity().
Referenced by __daemon_run().

| void switchUser | ( | Configuration & | config | ) |
Definition at line 135 of file Main.cpp.
References dtn::daemon::Configuration::getGID(), dtn::daemon::Configuration::getUID(), dtn::daemon::Configuration::getUser(), IBRCOMMON_LOGGER, and IBRCOMMON_LOGGER_ENDL.
Referenced by __daemon_run().

| bool _debug = false |
Definition at line 99 of file Main.cpp.
Referenced by __daemon_run(), dtn::daemon::Configuration::load(), dtn::daemon::Configuration::params(), and sighandler().
| const unsigned char logerr = ibrcommon::Logger::LOGGER_ERR | ibrcommon::Logger::LOGGER_CRIT |
Definition at line 90 of file Main.cpp.
Referenced by __daemon_run().
| unsigned char logopts = ibrcommon::Logger::LOG_DATETIME | ibrcommon::Logger::LOG_LEVEL |
setup logging capabilities
Definition at line 87 of file Main.cpp.
Referenced by __daemon_run(), and sighandler().
| const unsigned char logstd = ~(ibrcommon::Logger::LOGGER_DEBUG | ibrcommon::Logger::LOGGER_ERR | ibrcommon::Logger::LOGGER_CRIT) |
Definition at line 93 of file Main.cpp.
Referenced by __daemon_run().
| const unsigned char logsys = ~(ibrcommon::Logger::LOGGER_DEBUG | ibrcommon::Logger::LOGGER_NOTICE) |
Definition at line 96 of file Main.cpp.
Referenced by __daemon_run().