MADARA
3.1.8
Main Page
Namespaces
Classes
Files
File List
File Members
MulticastTransport.h
Go to the documentation of this file.
1
#ifndef _MADARA_MULTICAST_TRANSPORT_H_
2
#define _MADARA_MULTICAST_TRANSPORT_H_
3
12
#include <string>
13
14
#include "madara/MADARA_export.h"
15
#include "
madara/utility/ScopedArray.h
"
16
#include "
madara/transport/QoSTransportSettings.h
"
17
#include "
madara/transport/Transport.h
"
18
#include "
madara/knowledge/KnowledgeBase.h
"
19
#include "ace/SOCK_Dgram.h"
20
#include "ace/SOCK_Dgram_Mcast.h"
21
#include "
madara/knowledge/KnowledgeRecord.h
"
22
#include "
madara/expression/ExpressionTree.h
"
23
#include "
madara/transport/BandwidthMonitor.h
"
24
#include "
madara/threads/Threader.h
"
25
26
namespace
madara
27
{
28
namespace
transport
29
{
42
class
MADARA_Export
MulticastTransport
:
public
Base
43
{
44
public
:
52
MulticastTransport
(
const
std::string
&
id
,
53
madara::knowledge::ThreadSafeContext
& context,
54
TransportSettings
& config,
bool
launch_transport);
55
59
virtual
~
MulticastTransport
();
60
66
long
send_data (
const
madara::knowledge::KnowledgeRecords
& updates);
67
71
void
close (
void
);
72
77
int
reliability (
void
)
const
;
78
83
int
reliability (
const
int
& setting);
84
89
int
setup (
void
);
90
91
private
:
92
94
knowledge::KnowledgeBase
knowledge_
;
95
97
threads::Threader
read_threads_
;
98
100
std::vector <ACE_INET_Addr>
addresses_
;
101
103
std::vector <std::string>
splitters_
;
104
106
ACE_SOCK_Dgram
write_socket_
;
107
109
ACE_SOCK_Dgram_Mcast
read_socket_
;
110
};
111
}
112
}
113
114
#endif // _MADARA_MULTICAST_TRANSPORT_H_
KnowledgeRecord.h
madara::transport::MulticastTransport::read_socket_
ACE_SOCK_Dgram_Mcast read_socket_
The multicast socket we are reading from.
Definition:
MulticastTransport.h:109
madara::transport::MulticastTransport::read_threads_
threads::Threader read_threads_
threads for reading knowledge updates
Definition:
MulticastTransport.h:97
madara::transport::MulticastTransport
Multicast-based transport for knowledge.
Definition:
MulticastTransport.h:42
BandwidthMonitor.h
madara::transport::MulticastTransport::write_socket_
ACE_SOCK_Dgram write_socket_
underlying socket for sending
Definition:
MulticastTransport.h:106
madara::knowledge::ThreadSafeContext
This class stores variables and their values for use by any entity needing state information in a thr...
Definition:
ThreadSafeContext.h:82
madara::transport::MulticastTransport::splitters_
std::vector< std::string > splitters_
holds splitters for knowledge multiassignment expression for speed
Definition:
MulticastTransport.h:103
madara::transport::TransportSettings
Holds basic transport settings.
Definition:
TransportSettings.h:92
Transport.h
madara::transport::MulticastTransport::knowledge_
knowledge::KnowledgeBase knowledge_
knowledge base for threads to use
Definition:
MulticastTransport.h:94
QoSTransportSettings.h
madara::knowledge::KnowledgeBase
This class provides a distributed knowledge base to users.
Definition:
KnowledgeBase.h:44
madara::knowledge::KnowledgeRecords
::std::map< std::string, KnowledgeRecord * > KnowledgeRecords
Definition:
KnowledgeRecord.h:1461
ExpressionTree.h
Threader.h
madara::knowledge::tags::string
static constexpr struct madara::knowledge::tags::string_t string
madara::threads::Threader
Starts threads with first class support of MADARA contexts.
Definition:
Threader.h:35
KnowledgeBase.h
ScopedArray.h
madara
Copyright (c) 2015 Carnegie Mellon University.
Definition:
AggregateFilter.h:30
madara::transport::MulticastTransport::addresses_
std::vector< ACE_INET_Addr > addresses_
holds all multicast addresses we are sending to
Definition:
MulticastTransport.h:100
madara::transport::Base
Base class from which all transports must be derived.
Definition:
Transport.h:62
include
madara
transport
multicast
MulticastTransport.h
Generated on Wed May 9 2018 18:17:16 for MADARA by
1.8.11