Server
Server is the role-specific convenience wrapper that owns and wires the
RSSI Transport, Application, and Controller objects for server
operation.
Server objects in C++ are referenced by the following shared pointer typedef:
The class description is shown below:
-
class Server
RSSI server convenience wrapper.
Bundles transport, application, and controller components for server-side RSSI links. Protocol reference: https://confluence.slac.stanford.edu/x/1IyfD
Construction wires the internal components together:
Transport <-> Controller <-> Application.Public Functions
-
explicit Server(uint32_t segSize)
Constructs an RSSI server bundle.
This constructor is a low-level C++ allocation path. Prefer
create()when shared ownership or Python exposure is required.- Parameters:
segSize – Initial local maximum segment size.
-
~Server()
Destroys the server bundle.
-
std::shared_ptr<rogue::protocols::rssi::Transport> transport()
Returns the transport endpoint.
- Returns:
Shared transport interface.
-
std::shared_ptr<rogue::protocols::rssi::Application> application()
Returns the application endpoint.
- Returns:
Shared application interface.
-
bool getOpen()
Returns whether the link is open.
- Returns:
True when the RSSI link is open.
-
uint32_t getDownCount()
Returns the down-transition counter.
- Returns:
Number of times the link entered a down/closed state.
-
uint32_t getDropCount()
Returns the dropped-frame counter.
- Returns:
Number of dropped received frames.
-
uint32_t getRetranCount()
Returns the retransmit counter.
- Returns:
Number of retransmitted frames.
-
bool getLocBusy()
Returns the local busy state.
- Returns:
True when the local endpoint is currently busy.
-
uint32_t getLocBusyCnt()
Returns the local busy event counter.
- Returns:
Number of local busy assertions.
-
bool getRemBusy()
Returns the remote busy state.
- Returns:
True when the remote endpoint reports busy.
-
uint32_t getRemBusyCnt()
Returns the remote busy event counter.
- Returns:
Number of remote busy indications.
-
void setLocTryPeriod(uint32_t val)
Sets the local connection retry period in microseconds.
-
uint32_t getLocTryPeriod()
Returns the local connection retry period in microseconds.
-
void setLocMaxBuffers(uint8_t val)
Sets the local maximum outstanding-buffer count.
-
uint8_t getLocMaxBuffers()
Returns the local maximum outstanding-buffer count.
-
void setLocMaxSegment(uint16_t val)
Sets the local maximum segment size in bytes.
-
uint16_t getLocMaxSegment()
Returns the local maximum segment size in bytes.
-
void setLocCumAckTout(uint16_t val)
Sets the local cumulative-ACK timeout.
-
uint16_t getLocCumAckTout()
Returns the local cumulative-ACK timeout.
-
void setLocRetranTout(uint16_t val)
Sets the local retransmit timeout.
-
uint16_t getLocRetranTout()
Returns the local retransmit timeout.
-
void setLocNullTout(uint16_t val)
Sets the local null-segment timeout.
-
uint16_t getLocNullTout()
Returns the local null-segment timeout.
-
void setLocMaxRetran(uint8_t val)
Sets the local maximum retransmit count.
-
uint8_t getLocMaxRetran()
Returns the local maximum retransmit count.
-
void setLocMaxCumAck(uint8_t val)
Sets the local maximum cumulative-ACK interval.
-
uint8_t getLocMaxCumAck()
Returns the local maximum cumulative-ACK interval.
-
uint8_t curMaxBuffers()
Returns the negotiated maximum outstanding-buffer count.
-
uint16_t curMaxSegment()
Returns the negotiated maximum segment size in bytes.
-
uint16_t curCumAckTout()
Returns the negotiated cumulative-ACK timeout.
-
uint16_t curRetranTout()
Returns the negotiated retransmit timeout.
-
uint16_t curNullTout()
Returns the negotiated null-segment timeout.
-
uint8_t curMaxRetran()
Returns the negotiated maximum retransmit count.
-
uint8_t curMaxCumAck()
Returns the negotiated maximum cumulative-ACK interval.
-
void resetCounters()
Resets runtime counters.
-
void setTimeout(uint32_t timeout)
Sets timeout in microseconds for frame transmits.
- Parameters:
timeout – Timeout in microseconds.
-
void stop()
Stops the RSSI connection.
-
void start()
Starts or restarts RSSI connection establishment.
Public Static Functions
-
static std::shared_ptr<rogue::protocols::rssi::Server> create(uint32_t segSize)
Creates an RSSI server bundle.
Parameter semantics are identical to the constructor; see
Server()for bundle-construction details. This static factory is the preferred construction path when the object is shared across Rogue graph connections or exposed to Python. It returnsstd::shared_ptrownership compatible with Rogue pointer typedefs.- Parameters:
segSize – Initial local maximum segment size.
- Returns:
Shared pointer to the created server bundle.
-
static void setup_python()
Registers Python bindings for this class.
-
explicit Server(uint32_t segSize)