Client

Client is the role-specific convenience wrapper that owns and wires the RSSI Transport, Application, and Controller objects for client operation.

Client objects in C++ are referenced by the following shared pointer typedef:

typedef std::shared_ptr<rogue::protocols::rssi::Client> rogue::protocols::rssi::ClientPtr

The class description is shown below:

class Client

RSSI client convenience wrapper.

Bundles transport, application, and controller components for client-side RSSI links. Protocol reference: https://confluence.slac.stanford.edu/x/1IyfD

Construction wires the internal components together: Transport <-> Controller <-> Application.

Public Functions

explicit Client(uint32_t segSize)

Constructs an RSSI client 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.

~Client()

Destroys the client 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 in open state.

Returns:

True when connection state 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::Client> create(uint32_t segSize)

Creates an RSSI client bundle.

Parameter semantics are identical to the constructor; see Client() 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.

Parameters:

segSize – Initial local maximum segment size.

Returns:

Shared pointer to the created client bundle.

static void setup_python()

Registers Python bindings for this class.