#include "config.h"#include <ibrcommon/data/BLOB.h>#include <ibrcommon/data/File.h>#include <ibrcommon/AutoDelete.h>#include <ibrcommon/net/NetInterface.h>#include "ibrcommon/Logger.h"#include <ibrdtn/utils/Clock.h>#include <list>#include "core/BundleCore.h"#include "core/EventSwitch.h"#include "core/BundleStorage.h"#include "core/SimpleBundleStorage.h"#include "Component.h"#include "core/Node.h"#include "core/EventReceiver.h"#include <ibrcommon/thread/Conditional.h>#include <ibrcommon/thread/AtomicCounter.h>#include <ibrcommon/thread/Mutex.h>#include <ibrdtn/data/Bundle.h>#include <ibrdtn/data/BundleList.h>#include <ibrcommon/thread/ThreadSafeQueue.h>#include <set>#include "core/GlobalEvent.h"#include "core/Event.h"#include "routing/BaseRouter.h"#include "routing/StaticRoutingExtension.h"#include <ibrdtn/data/MetaBundle.h>#include "ibrdtn/data/EID.h"#include <map>#include <queue>#include <string>#include "routing/SummaryVector.h"#include <ibrdtn/data/BundleID.h>#include <ibrcommon/data/BloomFilter.h>#include <ibrcommon/Exceptions.h>#include <ibrdtn/data/Block.h>#include <ibrdtn/data/SDNV.h>#include <ibrdtn/data/BundleString.h>#include <ibrdtn/data/ExtensionBlockFactory.h>#include "net/ConvergenceLayer.h"#include "net/DiscoveryServiceProvider.h"#include "ibrcommon/net/udpsocket.h"#include "core/NodeEvent.h"#include "net/GenericServer.h"#include <stdlib.h>#include <iostream>#include <ibrdtn/data/Serializer.h>#include <ibrdtn/streams/StreamConnection.h>#include <ibrdtn/streams/StreamContactHeader.h>#include <ibrcommon/net/tcpserver.h>#include <ibrcommon/net/tcpstream.h>#include <memory>#include "net/DiscoveryService.h"#include "net/DiscoveryAnnouncement.h"#include "ApiServer.h"#include "Configuration.h"#include "EchoWorker.h"#include "DevNull.h"#include <ibrcommon/thread/Timer.h>#include <fstream>#include <ibrcommon/net/UnicastSocket.h>#include <csignal>#include <sys/types.h>#include <syslog.h>#include "Debugger.h"Go to the source code of this file.
Defines | |
| #define | UNIT_MB * 1048576 |
Functions | |
| void | term (int signal) |
| void | reload (int) |
| 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 | main (int argc, char *argv[]) |
| void createBundleStorage | ( | BundleCore & | core, | |
| Configuration & | conf, | |||
| std::list< dtn::daemon::Component * > & | components | |||
| ) |
Definition at line 124 of file Main.cpp.
References ibrcommon::File::createDirectory(), ibrcommon::File::exists(), dtn::daemon::Configuration::getLimit(), dtn::daemon::Configuration::getPath(), and dtn::core::BundleCore::setStorage().
Referenced by main().
| void createConvergenceLayers | ( | BundleCore & | core, | |
| Configuration & | conf, | |||
| std::list< dtn::daemon::Component * > & | components, | |||
| dtn::net::IPNDAgent * | ipnd | |||
| ) |
Definition at line 155 of file Main.cpp.
References dtn::core::BundleCore::addConvergenceLayer(), dtn::daemon::Configuration::NetConfig::address, dtn::net::DiscoveryAgent::addService(), ibrcommon::NetInterface::getAddress(), dtn::daemon::Configuration::getInterfaces(), IBRCOMMON_LOGGER, IBRCOMMON_LOGGER_ENDL, dtn::daemon::Configuration::NetConfig::interface, dtn::daemon::Configuration::NetConfig::port, dtn::daemon::Configuration::NetConfig::type, and ibrcommon::Exception::what().
Referenced by main().
| int main | ( | int | argc, | |
| char * | argv[] | |||
| ) |
initialize all components!
run all components!
terminate all components!
Definition at line 229 of file Main.cpp.
References dtn::core::BundleCore::addConnection(), dtn::routing::BaseRouter::addExtension(), dtn::net::DiscoveryAgent::addService(), ibrcommon::Logger::addStream(), dtn::daemon::Configuration::beQuiet(), dtn::net::IPNDAgent::bind(), createBundleStorage(), createConvergenceLayers(), dtn::daemon::Configuration::doAPI(), dtn::daemon::Configuration::doDebug(), dtn::daemon::Configuration::doDiscovery(), dtn::daemon::Configuration::doForwarding(), ibrcommon::Logger::enableSyslog(), ibrcommon::NetInterface::getAddress(), dtn::daemon::Configuration::getAPIInterface(), dtn::daemon::Configuration::getDebugLevel(), dtn::daemon::Configuration::getDiscoveryAddress(), dtn::daemon::Configuration::getDiscoveryPort(), dtn::core::EventSwitch::getInstance(), dtn::daemon::Configuration::getInterfaces(), dtn::daemon::Configuration::getNotifyCommand(), dtn::daemon::Configuration::getRoutingExtension(), dtn::daemon::Configuration::getStatAddress(), dtn::daemon::Configuration::getStaticNodes(), dtn::daemon::Configuration::getStaticRoutes(), dtn::daemon::Configuration::getStatLogfile(), dtn::daemon::Configuration::getStatLogInterval(), dtn::daemon::Configuration::getStatLogType(), dtn::daemon::Configuration::getStatPort(), dtn::core::BundleCore::getStorage(), dtn::core::GlobalEvent::GLOBAL_SHUTDOWN, IBRCOMMON_LOGGER, IBRCOMMON_LOGGER_ENDL, dtn::daemon::IntegratedComponent::initialize(), dtn::daemon::Configuration::NetConfig::interface, dtn::daemon::Configuration::load(), ibrcommon::Logger::LOG_LEVEL, ibrcommon::Logger::LOG_TIMESTAMP, ibrcommon::Logger::LOGGER_CRIT, ibrcommon::Logger::LOGGER_DEBUG, ibrcommon::Logger::LOGGER_ERR, dtn::daemon::StatisticLogger::LOGGER_FILE_CSV, dtn::daemon::StatisticLogger::LOGGER_FILE_PLAIN, dtn::daemon::StatisticLogger::LOGGER_FILE_STAT, ibrcommon::Logger::LOGGER_INFO, ibrcommon::Logger::LOGGER_NOTICE, dtn::daemon::StatisticLogger::LOGGER_STDOUT, dtn::daemon::StatisticLogger::LOGGER_SYSLOG, dtn::daemon::StatisticLogger::LOGGER_UDP, dtn::core::EventSwitch::loop(), dtn::daemon::Configuration::params(), dtn::daemon::Configuration::NetConfig::port, dtn::core::GlobalEvent::raise(), reload(), setGlobalVars(), ibrcommon::Logger::setVerbosity(), dtn::daemon::IntegratedComponent::startup(), switchUser(), term(), dtn::daemon::IntegratedComponent::terminate(), dtn::daemon::Configuration::useStatLogger(), and dtn::daemon::Configuration::version().
| void reload | ( | int | ) |
Definition at line 75 of file Main.cpp.
References dtn::core::GlobalEvent::GLOBAL_RELOAD, and dtn::core::GlobalEvent::raise().
Referenced by main().
| void setGlobalVars | ( | Configuration & | config | ) |
Definition at line 98 of file Main.cpp.
References dtn::core::BundleCore::blocksizelimit, 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 main().
| void switchUser | ( | Configuration & | config | ) |
Definition at line 81 of file Main.cpp.
References dtn::daemon::Configuration::getGID(), dtn::daemon::Configuration::getUID(), IBRCOMMON_LOGGER, and IBRCOMMON_LOGGER_ENDL.
Referenced by main().
| void term | ( | int | signal | ) |
Definition at line 67 of file Main.cpp.
References dtn::core::GlobalEvent::GLOBAL_SHUTDOWN, and dtn::core::GlobalEvent::raise().
Referenced by main().
1.6.3