rogue
Loading...
Searching...
No Matches
Server.h
Go to the documentation of this file.
1
17#ifndef __ROGUE_PROTOCOLS_RSSI_SERVER_H__
18#define __ROGUE_PROTOCOLS_RSSI_SERVER_H__
19#include "rogue/Directives.h"
20
21#include <stdint.h>
22
23#include <memory>
24#include <thread>
25
26namespace rogue {
27namespace protocols {
28namespace rssi {
29
30class Transport;
31class Application;
32class Controller;
33
45class Server {
46 // Transport endpoint.
47 std::shared_ptr<rogue::protocols::rssi::Transport> tran_;
48
49 // Application endpoint.
50 std::shared_ptr<rogue::protocols::rssi::Application> app_;
51
52 // Protocol controller.
53 std::shared_ptr<rogue::protocols::rssi::Controller> cntl_;
54
55 public:
69 static std::shared_ptr<rogue::protocols::rssi::Server> create(uint32_t segSize);
70
72 static void setup_python();
73
83 explicit Server(uint32_t segSize);
84
86 ~Server();
87
92 std::shared_ptr<rogue::protocols::rssi::Transport> transport();
93
98 std::shared_ptr<rogue::protocols::rssi::Application> application();
99
104 bool getOpen();
105
110 uint32_t getDownCount();
111
116 uint32_t getDropCount();
117
122 uint32_t getRetranCount();
123
128 bool getLocBusy();
129
134 uint32_t getLocBusyCnt();
135
140 bool getRemBusy();
141
146 uint32_t getRemBusyCnt();
147
149 void setLocTryPeriod(uint32_t val);
151 uint32_t getLocTryPeriod();
152
154 void setLocMaxBuffers(uint8_t val);
156 uint8_t getLocMaxBuffers();
157
159 void setLocMaxSegment(uint16_t val);
161 uint16_t getLocMaxSegment();
162
164 void setLocCumAckTout(uint16_t val);
166 uint16_t getLocCumAckTout();
167
169 void setLocRetranTout(uint16_t val);
171 uint16_t getLocRetranTout();
172
174 void setLocNullTout(uint16_t val);
176 uint16_t getLocNullTout();
177
179 void setLocMaxRetran(uint8_t val);
181 uint8_t getLocMaxRetran();
182
184 void setLocMaxCumAck(uint8_t val);
186 uint8_t getLocMaxCumAck();
187
189 uint8_t curMaxBuffers();
191 uint16_t curMaxSegment();
193 uint16_t curCumAckTout();
195 uint16_t curRetranTout();
197 uint16_t curNullTout();
199 uint8_t curMaxRetran();
201 uint8_t curMaxCumAck();
202
204 void resetCounters();
205
210 void setTimeout(uint32_t timeout);
211
213 void stop();
214
216 void start();
217};
218
219// Convienence
220typedef std::shared_ptr<rogue::protocols::rssi::Server> ServerPtr;
221
222} // namespace rssi
223} // namespace protocols
224}; // namespace rogue
225
226#endif
RSSI server convenience wrapper.
Definition Server.h:45
uint8_t getLocMaxCumAck()
Returns the local maximum cumulative-ACK interval.
Definition Server.cpp:212
uint8_t curMaxBuffers()
Returns the negotiated maximum outstanding-buffer count.
Definition Server.cpp:216
void resetCounters()
Resets runtime counters.
Definition Server.cpp:244
void start()
Starts or restarts RSSI connection establishment.
Definition Server.cpp:259
bool getRemBusy()
Returns the remote busy state.
Definition Server.cpp:143
static std::shared_ptr< rogue::protocols::rssi::Server > create(uint32_t segSize)
Creates an RSSI server bundle.
Definition Server.cpp:38
void setLocNullTout(uint16_t val)
Sets the local null-segment timeout.
Definition Server.cpp:192
uint16_t curRetranTout()
Returns the negotiated retransmit timeout.
Definition Server.cpp:228
void setTimeout(uint32_t timeout)
Sets timeout in microseconds for frame transmits.
Definition Server.cpp:249
void setLocMaxCumAck(uint8_t val)
Sets the local maximum cumulative-ACK interval.
Definition Server.cpp:208
void stop()
Stops the RSSI connection.
Definition Server.cpp:254
uint16_t getLocRetranTout()
Returns the local retransmit timeout.
Definition Server.cpp:188
uint8_t getLocMaxRetran()
Returns the local maximum retransmit count.
Definition Server.cpp:204
~Server()
Destroys the server bundle.
Definition Server.cpp:98
uint16_t curNullTout()
Returns the negotiated null-segment timeout.
Definition Server.cpp:232
uint16_t curCumAckTout()
Returns the negotiated cumulative-ACK timeout.
Definition Server.cpp:224
uint8_t curMaxCumAck()
Returns the negotiated maximum cumulative-ACK interval.
Definition Server.cpp:240
bool getLocBusy()
Returns the local busy state.
Definition Server.cpp:133
uint32_t getRetranCount()
Returns the retransmit counter.
Definition Server.cpp:128
uint8_t getLocMaxBuffers()
Returns the local maximum outstanding-buffer count.
Definition Server.cpp:164
uint32_t getDownCount()
Returns the down-transition counter.
Definition Server.cpp:118
void setLocMaxBuffers(uint8_t val)
Sets the local maximum outstanding-buffer count.
Definition Server.cpp:160
bool getOpen()
Returns whether the link is open.
Definition Server.cpp:113
void setLocMaxRetran(uint8_t val)
Sets the local maximum retransmit count.
Definition Server.cpp:200
std::shared_ptr< rogue::protocols::rssi::Application > application()
Returns the application endpoint.
Definition Server.cpp:108
void setLocTryPeriod(uint32_t val)
Sets the local connection retry period in microseconds.
Definition Server.cpp:152
void setLocMaxSegment(uint16_t val)
Sets the local maximum segment size in bytes.
Definition Server.cpp:168
std::shared_ptr< rogue::protocols::rssi::Transport > transport()
Returns the transport endpoint.
Definition Server.cpp:103
static void setup_python()
Registers Python bindings for this class.
Definition Server.cpp:43
uint32_t getRemBusyCnt()
Returns the remote busy event counter.
Definition Server.cpp:148
void setLocRetranTout(uint16_t val)
Sets the local retransmit timeout.
Definition Server.cpp:184
uint32_t getLocTryPeriod()
Returns the local connection retry period in microseconds.
Definition Server.cpp:156
uint32_t getLocBusyCnt()
Returns the local busy event counter.
Definition Server.cpp:138
void setLocCumAckTout(uint16_t val)
Sets the local cumulative-ACK timeout.
Definition Server.cpp:176
uint8_t curMaxRetran()
Returns the negotiated maximum retransmit count.
Definition Server.cpp:236
uint16_t getLocMaxSegment()
Returns the local maximum segment size in bytes.
Definition Server.cpp:172
uint16_t getLocNullTout()
Returns the local null-segment timeout.
Definition Server.cpp:196
uint16_t curMaxSegment()
Returns the negotiated maximum segment size in bytes.
Definition Server.cpp:220
uint16_t getLocCumAckTout()
Returns the local cumulative-ACK timeout.
Definition Server.cpp:180
uint32_t getDropCount()
Returns the dropped-frame counter.
Definition Server.cpp:123
std::shared_ptr< rogue::protocols::rssi::Server > ServerPtr
Definition Server.h:220