MADARA
3.4.1
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
#include <iostream>
8
#include <algorithm>
9
10
namespace
madara
11
{
12
namespace
transport
13
{
14
namespace
mcast = ip::multicast;
15
16
void
MulticastTransportReadThread::cleanup
(
void
)
17
{
18
if
(
transport_
.
addresses_
.size() == 0)
19
{
20
return
;
21
}
22
23
try
24
{
25
transport_
.
socket_
.set_option(
26
mcast::leave_group(
transport_
.
addresses_
[0].address()));
27
}
28
catch
(
const
boost::system::system_error& e)
29
{
30
madara_logger_log
(this->
context_
->
get_logger
(),
logger::LOG_MAJOR
,
31
"MulticastTransportReadThread::close:"
32
" Error unsubscribing to multicast address: %s\n"
,
33
e.what());
34
}
35
36
UdpTransportReadThread::cleanup
();
37
}
38
}
39
}
Fragmentation.h
madara_logger_log
#define madara_logger_log(loggering, level,...)
Fast version of the madara::logger::log method.
Definition:
Logger.h:20
MulticastTransportReadThread.h
ReducedMessageHeader.h
Utility.h
madara::knowledge::ThreadSafeContext::get_logger
logger::Logger & get_logger(void) const
Gets the logger used for information printing.
Definition:
ThreadSafeContext.inl:764
madara::transport::BasicASIOTransport::addresses_
std::vector< udp::endpoint > addresses_
holds all multicast addresses we are sending to
Definition:
BasicASIOTransport.h:63
madara::transport::BasicASIOTransport::socket_
udp::socket socket_
underlying socket
Definition:
BasicASIOTransport.h:66
madara::transport::MulticastTransportReadThread::cleanup
void cleanup(void) override
Cleanup function called by thread manager.
Definition:
MulticastTransportReadThread.cpp:16
madara::transport::UdpTransportReadThread::cleanup
void cleanup(void) override
Cleanup function called by thread manager.
Definition:
UdpTransportReadThread.cpp:72
madara::transport::UdpTransportReadThread::context_
knowledge::ThreadSafeContext * context_
Definition:
UdpTransportReadThread.h:64
madara::transport::UdpTransportReadThread::transport_
UdpTransport & transport_
Definition:
UdpTransportReadThread.h:62
madara::logger::LOG_MAJOR
@ LOG_MAJOR
Definition:
Logger.h:149
madara
Copyright(c) 2020 Galois.
Definition:
AggregateFilter.h:31
include
madara
transport
multicast
MulticastTransportReadThread.cpp
Generated on Sat Jan 20 2024 00:40:27 for MADARA by
1.9.1