MADARA
3.4.1
ZMQTransport.h
Go to the documentation of this file.
1
#ifndef _MADARA_ZEROMQ_TRANSPORT_H_
2
#define _MADARA_ZEROMQ_TRANSPORT_H_
3
12
#include <string>
13
14
#include "madara/MadaraExport.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
20
#include <zmq.h>
21
22
#include "
madara/knowledge/KnowledgeRecord.h
"
23
#include "
madara/expression/ExpressionTree.h
"
24
#include "
madara/transport/BandwidthMonitor.h
"
25
#include "
madara/threads/Threader.h
"
26
27
namespace
madara
28
{
29
namespace
transport
30
{
43
class
MADARA_EXPORT
ZMQTransport
:
public
Base
44
{
45
public
:
53
ZMQTransport
(
const
std::string
&
id
,
54
madara::knowledge::ThreadSafeContext
& context,
TransportSettings
& config,
55
bool
launch_transport);
56
60
virtual
~
ZMQTransport
();
61
67
long
send_data(
68
const
madara::knowledge::KnowledgeMap
& updates)
override
;
69
73
virtual
void
close(
void
)
override
;
74
79
int
reliability(
void
)
const
;
80
85
int
reliability(
const
int
& setting);
86
91
virtual
int
setup(
void
)
override
;
92
93
private
:
95
knowledge::KnowledgeBase
knowledge_
;
96
98
threads::Threader
read_threads_
;
99
101
void
*
write_socket_
;
102
104
knowledge::containers::Integer
sent_packets_
;
105
107
knowledge::containers::Integer
failed_sends_
;
108
110
knowledge::containers::Integer
sent_data_
;
111
113
knowledge::containers::Integer
sent_data_max_
;
114
116
knowledge::containers::Integer
sent_data_min_
;
117
};
118
}
119
}
120
121
#endif
// _MADARA_ZEROMQ_TRANSPORT_H_
BandwidthMonitor.h
ExpressionTree.h
KnowledgeBase.h
KnowledgeRecord.h
QoSTransportSettings.h
ScopedArray.h
Threader.h
Transport.h
madara::knowledge::KnowledgeBase
This class provides a distributed knowledge base to users.
Definition:
KnowledgeBase.h:45
madara::knowledge::ThreadSafeContext
This class stores variables and their values for use by any entity needing state information in a thr...
Definition:
ThreadSafeContext.h:76
madara::knowledge::containers::Integer
This class stores an integer within a variable context.
Definition:
Integer.h:32
madara::threads::Threader
Starts threads with first class support of MADARA contexts.
Definition:
Threader.h:36
madara::transport::Base
Base class from which all transports must be derived.
Definition:
Transport.h:46
madara::transport::TransportSettings
Holds basic transport settings.
Definition:
TransportSettings.h:80
madara::transport::ZMQTransport
ZMQ-based transport for knowledge.
Definition:
ZMQTransport.h:44
madara::transport::ZMQTransport::failed_sends_
knowledge::containers::Integer failed_sends_
failed sends
Definition:
ZMQTransport.h:107
madara::transport::ZMQTransport::sent_data_min_
knowledge::containers::Integer sent_data_min_
min data sent
Definition:
ZMQTransport.h:116
madara::transport::ZMQTransport::write_socket_
void * write_socket_
underlying socket for sending
Definition:
ZMQTransport.h:101
madara::transport::ZMQTransport::read_threads_
threads::Threader read_threads_
threads for reading knowledge updates
Definition:
ZMQTransport.h:98
madara::transport::ZMQTransport::sent_data_max_
knowledge::containers::Integer sent_data_max_
max data sent
Definition:
ZMQTransport.h:113
madara::transport::ZMQTransport::sent_data_
knowledge::containers::Integer sent_data_
sent data
Definition:
ZMQTransport.h:110
madara::transport::ZMQTransport::sent_packets_
knowledge::containers::Integer sent_packets_
sent packets
Definition:
ZMQTransport.h:104
madara::transport::ZMQTransport::knowledge_
knowledge::KnowledgeBase knowledge_
knowledge base for threads to use
Definition:
ZMQTransport.h:95
madara::knowledge::tags::string
constexpr string_t string
Definition:
KnowledgeRecord.h:56
madara::knowledge::KnowledgeMap
::std::map< std::string, KnowledgeRecord > KnowledgeMap
Definition:
KnowledgeRecord.h:1818
madara
Copyright(c) 2020 Galois.
Definition:
AggregateFilter.h:31
include
madara
transport
zmq
ZMQTransport.h
Generated on Sat Jan 20 2024 00:40:27 for MADARA by
1.9.1