Server
Server is the role-specific convenience wrapper that owns and wires the
RSSI Transport, Application, and Controller objects for server
operation.
For conceptual guidance, see RSSI Protocol Server.
Threading and Lifecycle
Delegates protocol-state execution to
Controllerand does not create a dedicatedServerworker thread.Implements Managed Interface Lifecycle: Example: Runtime Work In _start() And _stop()
Python binding
This C++ class is also exported into Python as rogue.protocols.rssi.Server.
Python API page: - Server
objects in C++ are referenced by the following shared pointer typedef:
The class description is shown below:
-
class Server
[header] 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)
[header] [impl] Constructs an RSSI server bundle.
Creator.
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.
-
std::shared_ptr<rogue::protocols::rssi::Transport> transport()
[header] [impl] Returns the transport endpoint.
Get transport interface.
- Returns:
Shared transport interface.
-
std::shared_ptr<rogue::protocols::rssi::Application> application()
[header] [impl] Returns the application endpoint.
Application module.
- Returns:
Shared application interface.
-
bool getOpen()
[header] [impl] Returns whether the link is open.
Get state.
- Returns:
True when the RSSI link is open.
-
uint32_t getDownCount()
[header] [impl] Returns the down-transition counter.
Get Down Count.
- Returns:
Number of times the link entered a down/closed state.
-
uint32_t getDropCount()
[header] [impl] Returns the dropped-frame counter.
Get Drop Count.
- Returns:
Number of dropped received frames.
-
uint32_t getRetranCount()
[header] [impl] Returns the retransmit counter.
Get Retransmit Count.
- Returns:
Number of retransmitted frames.
-
bool getLocBusy()
[header] [impl] Returns the local busy state.
Get locBusy.
- Returns:
True when the local endpoint is currently busy.
-
uint32_t getLocBusyCnt()
[header] [impl] Returns the local busy event counter.
Get locBusyCnt.
- Returns:
Number of local busy assertions.
-
bool getRemBusy()
[header] [impl] Returns the remote busy state.
Get remBusy.
- Returns:
True when the remote endpoint reports busy.
-
uint32_t getRemBusyCnt()
[header] [impl] Returns the remote busy event counter.
Get remBusyCnt.
- Returns:
Number of remote busy indications.
-
void setLocTryPeriod(uint32_t val)
[header] [impl] Sets the local connection retry period in microseconds.
-
uint32_t getLocTryPeriod()
[header] [impl] Returns the local connection retry period in microseconds.
-
void setLocMaxBuffers(uint8_t val)
[header] [impl] Sets the local maximum outstanding-buffer count.
Public Static Functions
-
static std::shared_ptr<rogue::protocols::rssi::Server> create(uint32_t segSize)
[header] [impl] Creates an RSSI server bundle.
Class creation.
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.Company : SLAC National Accelerator Laboratory
Description:
This file is part of the rogue software platform. It is subject to the license terms in the LICENSE.txt file found in the top-level directory of this distribution and at: https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. No part of the rogue software platform, including this file, may be copied, modified, propagated, or distributed except according to the terms contained in the LICENSE.txt file.
- Parameters:
segSize – Initial local maximum segment size.
- Returns:
Shared pointer to the created server bundle.
-
explicit Server(uint32_t segSize)