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

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:

typedef std::shared_ptr<rogue::protocols::rssi::Server> rogue::protocols::rssi::ServerPtr
[header]

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.

~Server()
[header] [impl]

Destroys the server bundle.

Destructor.

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.

uint8_t getLocMaxBuffers()
[header] [impl]

Returns the local maximum outstanding-buffer count.

void setLocMaxSegment(uint16_t val)
[header] [impl]

Sets the local maximum segment size in bytes.

uint16_t getLocMaxSegment()
[header] [impl]

Returns the local maximum segment size in bytes.

void setLocCumAckTout(uint16_t val)
[header] [impl]

Sets the local cumulative-ACK timeout.

uint16_t getLocCumAckTout()
[header] [impl]

Returns the local cumulative-ACK timeout.

void setLocRetranTout(uint16_t val)
[header] [impl]

Sets the local retransmit timeout.

uint16_t getLocRetranTout()
[header] [impl]

Returns the local retransmit timeout.

void setLocNullTout(uint16_t val)
[header] [impl]

Sets the local null-segment timeout.

uint16_t getLocNullTout()
[header] [impl]

Returns the local null-segment timeout.

void setLocMaxRetran(uint8_t val)
[header] [impl]

Sets the local maximum retransmit count.

uint8_t getLocMaxRetran()
[header] [impl]

Returns the local maximum retransmit count.

void setLocMaxCumAck(uint8_t val)
[header] [impl]

Sets the local maximum cumulative-ACK interval.

uint8_t getLocMaxCumAck()
[header] [impl]

Returns the local maximum cumulative-ACK interval.

uint8_t curMaxBuffers()
[header] [impl]

Returns the negotiated maximum outstanding-buffer count.

uint16_t curMaxSegment()
[header] [impl]

Returns the negotiated maximum segment size in bytes.

uint16_t curCumAckTout()
[header] [impl]

Returns the negotiated cumulative-ACK timeout.

uint16_t curRetranTout()
[header] [impl]

Returns the negotiated retransmit timeout.

uint16_t curNullTout()
[header] [impl]

Returns the negotiated null-segment timeout.

uint8_t curMaxRetran()
[header] [impl]

Returns the negotiated maximum retransmit count.

uint8_t curMaxCumAck()
[header] [impl]

Returns the negotiated maximum cumulative-ACK interval.

void resetCounters()
[header] [impl]

Resets runtime counters.

void setTimeout(uint32_t timeout)
[header] [impl]

Sets timeout in microseconds for frame transmits.

Set timeout for frame transmits in microseconds.

Parameters:

timeout – Timeout in microseconds.

void stop()
[header] [impl]

Stops the RSSI connection.

Send reset and close.

void start()
[header] [impl]

Starts or restarts RSSI connection establishment.

Start.

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 returns std::shared_ptr ownership 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.

static void setup_python()
[header] [impl]

Registers Python bindings for this class.