MADARA
3.2.3
Main Page
Namespaces
Classes
Files
File List
File Members
MulticastTransportReadThread.cpp
Go to the documentation of this file.
1
#include "
madara/transport/multicast/MulticastTransportReadThread.h
"
2
3
#include "
madara/transport/ReducedMessageHeader.h
"
4
#include "
madara/transport/Fragmentation.h
"
5
#include "
madara/utility/Utility.h
"
6
7
8
#include <iostream>
9
#include <algorithm>
10
11
namespace
madara
{
namespace
transport {
12
13
namespace
mcast = ip::multicast;
14
15
void
16
MulticastTransportReadThread::cleanup
(
void
)
17
{
18
if
(
transport_
.
addresses_
.size () == 0) {
19
return
;
20
}
21
22
try
{
23
transport_
.
socket_
.set_option (mcast::leave_group (
24
transport_
.
addresses_
[0].address ()));
25
}
catch
(
const
boost::system::system_error &e) {
26
madara_logger_log
(this->
context_
->
get_logger
(),
logger::LOG_MAJOR
,
27
"MulticastTransportReadThread::close:"
\
28
" Error unsubscribing to multicast address: %s\n"
, e.what ());
29
}
30
31
UdpTransportReadThread::cleanup
();
32
}
33
34
} }
Fragmentation.h
madara::transport::BasicASIOTransport::socket_
udp::socket socket_
underlying socket
Definition:
BasicASIOTransport.h:62
madara::transport::UdpTransportReadThread::context_
knowledge::ThreadSafeContext * context_
Definition:
UdpTransportReadThread.h:66
madara_logger_log
#define madara_logger_log(logger, level,...)
Fast version of the madara::logger::log method.
Definition:
Logger.h:20
madara::transport::MulticastTransportReadThread::cleanup
void cleanup(void) override
Cleanup function called by thread manager.
Definition:
MulticastTransportReadThread.cpp:16
ReducedMessageHeader.h
madara::transport::BasicASIOTransport::addresses_
std::vector< udp::endpoint > addresses_
holds all multicast addresses we are sending to
Definition:
BasicASIOTransport.h:59
madara::transport::UdpTransportReadThread::transport_
UdpTransport & transport_
Definition:
UdpTransportReadThread.h:64
madara::transport::UdpTransportReadThread::cleanup
void cleanup(void) override
Cleanup function called by thread manager.
Definition:
UdpTransportReadThread.cpp:59
madara
Copyright (c) 2015 Carnegie Mellon University.
Definition:
AggregateFilter.h:30
madara::knowledge::ThreadSafeContext::get_logger
logger::Logger & get_logger(void) const
Gets the logger used for information printing.
Definition:
ThreadSafeContext.inl:692
Utility.h
madara::logger::LOG_MAJOR
Definition:
Logger.h:76
MulticastTransportReadThread.h
include
madara
transport
multicast
MulticastTransportReadThread.cpp
Generated on Thu Jul 12 2018 17:38:26 for MADARA by
1.8.11