X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Examples%2FMultiMCLoop%2FMultiMCLoop.cc;h=a6f07c85ff465636b211e345e49435b9606aa12c;hb=566fb4271b2aff5aa07943707f770b2a84c2738b;hp=6f7540d08e580172f40646238f7a18f8c5a0857f;hpb=28e21cc5680c097e7daed8c412ee32cf26a75a60;p=senf.git diff --git a/Examples/MultiMCLoop/MultiMCLoop.cc b/Examples/MultiMCLoop/MultiMCLoop.cc index 6f7540d..a6f07c8 100644 --- a/Examples/MultiMCLoop/MultiMCLoop.cc +++ b/Examples/MultiMCLoop/MultiMCLoop.cc @@ -1,6 +1,6 @@ // $Id$ // -// Copyright (C) 2008 +// Copyright (C) 2008 // Fraunhofer Institute for Open Communication Systems (FOKUS) // Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund @@ -32,10 +32,11 @@ #include #include #include +#include //#include "MultiMCLoop.mpp" #define prefix_ -///////////////////////////////cc.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// typedef senf::UDPv4ClientSocketHandle UDPSocket; @@ -51,11 +52,11 @@ public: MCReader(unsigned n, std::string const & name, UDPSocket::Address const & group); }; -prefix_ MCReader::MCReader(unsigned n, std::string const & name_, +prefix_ MCReader::MCReader(unsigned n, std::string const & name_, UDPSocket::Address const & group) : name (name_), socket (), - event (name, senf::membind(&MCReader::handler, this), socket, - senf::scheduler::FdEvent::EV_READ) + event (name, senf::membind(&MCReader::handler, this), socket, + senf::scheduler::FdEvent::EV_READ) { socket.protocol().reuseaddr(true); socket.bind(group); @@ -68,7 +69,7 @@ prefix_ void MCReader::handler(int events) std::cout << "I " << name << ": " << socket.read() << "\n"; } -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// class MCWriter { @@ -80,10 +81,10 @@ class MCWriter unsigned count; void handler(); - + public: - MCWriter(std::string const & name, UDPSocket::Address const & group, - senf::ClockService::clock_type interval); + MCWriter(std::string const & name, UDPSocket::Address const & group, + senf::ClockService::clock_type interval); }; prefix_ MCWriter::MCWriter(std::string const & name_, UDPSocket::Address const & group_, @@ -102,7 +103,7 @@ prefix_ void MCWriter::handler() event.timeout(senf::scheduler::eventTime() + interval); } -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// class IfSetup { @@ -116,7 +117,7 @@ public: struct SystemException : public senf::Exception { SystemException() : senf::Exception("IfSetup::SystemException") {} }; - + }; prefix_ IfSetup::IfSetup(std::string const & iface_) @@ -144,44 +145,45 @@ prefix_ void IfSetup::sys(std::string const & cmd) throw SystemException() << ": code " << rv << ": " << cmd; } -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// void sigintHandler(siginfo_t const &) { senf::scheduler::terminate(); } -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// int main(int argc, char * argv[]) { try { - IfSetup setup ("dummy0"); - + boost::scoped_ptr setup ( + (argc != 2 || std::string(argv[1]) != "-n") ? new IfSetup("dummy0") : 0); + senf::scheduler::SignalEvent sigint (SIGINT, &sigintHandler); UDPSocket::Address g1 ("225.1:43434"); - UDPSocket::Address g2 ("225.2:43434"); + UDPSocket::Address g2 ("225.2:43434"); - MCReader r1g1 (1u, "r1g1", g1); - MCReader r2g1 (2u, "r2g1", g1); - MCReader r1g2 (3u, "r1g2", g2); - MCReader r2g2 (4u, "r2g2", g2); + MCReader r1g1 (1u, "r1g1", g1); + MCReader r2g1 (2u, "r2g1", g1); + MCReader r1g2 (3u, "r1g2", g2); + MCReader r2g2 (4u, "r2g2", g2); - MCWriter w1g1 ("w1g1", g1, senf::ClockService::milliseconds(600)); - MCWriter w2g1 ("w2g1", g1, senf::ClockService::milliseconds(800)); - MCWriter w1g2 ("w1g2", g2, senf::ClockService::milliseconds(700)); - MCWriter w2g2 ("w2g2", g2, senf::ClockService::milliseconds(900)); + MCWriter w1g1 ("w1g1", g1, senf::ClockService::milliseconds(600)); + MCWriter w2g1 ("w2g1", g1, senf::ClockService::milliseconds(800)); + MCWriter w1g2 ("w1g2", g2, senf::ClockService::milliseconds(700)); + MCWriter w2g2 ("w2g2", g2, senf::ClockService::milliseconds(900)); - senf::scheduler::process(); + senf::scheduler::process(); } catch (std::exception const & ex) { - std::cerr << ex.what() << "\n"; - return 1; + std::cerr << ex.what() << "\n"; + return 1; } }; -///////////////////////////////cc.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #undef prefix_ //#include "MultiMCLoop.mpp"