|
rogue
|
Packetizer controller implementation for protocol v2. More...
#include <ControllerV2.h>
Public Member Functions | |
| ControllerV2 (bool enIbCrc, bool enObCrc, bool enSsi, std::shared_ptr< rogue::protocols::packetizer::Transport > tran, std::shared_ptr< rogue::protocols::packetizer::Application > *app) | |
| Constructs a packetizer v2 controller. | |
| ~ControllerV2 () | |
| Destroys the controller instance. | |
| void | transportRx (std::shared_ptr< rogue::interfaces::stream::Frame > frame) |
| Processes a frame received at the transport interface. | |
| void | applicationRx (std::shared_ptr< rogue::interfaces::stream::Frame > frame, uint8_t id) |
| Processes a frame received from one application endpoint. | |
Public Member Functions inherited from rogue::protocols::packetizer::Controller | |
| Controller (std::shared_ptr< rogue::protocols::packetizer::Transport > tran, std::shared_ptr< rogue::protocols::packetizer::Application > *app, uint32_t headSize, uint32_t tailSize, uint32_t alignSize, bool enSsi) | |
| Constructs a packetizer controller base. | |
| ~Controller () | |
| Destroys the packetizer controller base. | |
| std::shared_ptr< rogue::interfaces::stream::Frame > | reqFrame (uint32_t size) |
| Allocates a transport-path frame. | |
| void | stopQueue () |
| Stops the internal transmit queue. | |
| void | stop () |
| Stops controller processing. | |
| std::shared_ptr< rogue::interfaces::stream::Frame > | transportTx () |
| Returns the next frame for transport transmission. | |
| uint32_t | getDropCount () |
| Returns dropped-frame counter. | |
| void | setTimeout (uint32_t timeout) |
| Sets timeout in microseconds for frame transmits. | |
Public Member Functions inherited from rogue::EnableSharedFromThis< rogue::protocols::packetizer::ControllerV2 > | |
| std::shared_ptr< rogue::protocols::packetizer::ControllerV2 > | shared_from_this () |
Returns a shared_ptr<T> for this instance. | |
Public Member Functions inherited from rogue::EnableSharedFromThisBase | |
| virtual | ~EnableSharedFromThisBase () |
| Virtual destructor for polymorphic base usage. | |
Static Public Member Functions | |
| static std::shared_ptr< rogue::protocols::packetizer::ControllerV2 > | create (bool enIbCrc, bool enObCrc, bool enSsi, std::shared_ptr< rogue::protocols::packetizer::Transport > tran, std::shared_ptr< rogue::protocols::packetizer::Application > *app) |
| Creates a packetizer v2 controller. | |
Additional Inherited Members | |
Protected Attributes inherited from rogue::protocols::packetizer::Controller | |
| bool | enSsi_ |
| uint32_t | appIndex_ |
| uint32_t | tranIndex_ |
| bool | transSof_ [256] |
| uint32_t | tranCount_ [256] |
| uint32_t | crc_ [256] |
| uint8_t | tranDest_ |
| uint32_t | dropCount_ |
| uint32_t | headSize_ |
| uint32_t | tailSize_ |
| uint32_t | alignSize_ |
| struct timeval | timeout_ |
| std::shared_ptr< rogue::Logging > | log_ |
| std::shared_ptr< rogue::interfaces::stream::Frame > | tranFrame_ [256] |
| std::mutex | appMtx_ |
| std::mutex | tranMtx_ |
| std::shared_ptr< rogue::protocols::packetizer::Transport > | tran_ |
| std::shared_ptr< rogue::protocols::packetizer::Application > * | app_ |
| rogue::Queue< std::shared_ptr< rogue::interfaces::stream::Frame > > | tranQueue_ |
Packetizer controller implementation for protocol v2.
Handles packet segmentation/reassembly and optional CRC processing between transport and application endpoints.
Definition at line 47 of file ControllerV2.h.
| rogue::protocols::packetizer::ControllerV2::ControllerV2 | ( | bool | enIbCrc, |
| bool | enObCrc, | ||
| bool | enSsi, | ||
| std::shared_ptr< rogue::protocols::packetizer::Transport > | tran, | ||
| std::shared_ptr< rogue::protocols::packetizer::Application > * | app | ||
| ) |
Constructs a packetizer v2 controller.
Creator.
This constructor is a low-level C++ allocation path. Prefer create() when shared ownership or Python exposure is required.
| enIbCrc | Enable inbound CRC verification. |
| enObCrc | Enable outbound CRC generation. |
| enSsi | Enable SSI framing behavior. |
| tran | Transport endpoint attached to this controller. |
| app | Pointer to array of application endpoints indexed by destination. |
Definition at line 55 of file ControllerV2.cpp.
| rogue::protocols::packetizer::ControllerV2::~ControllerV2 | ( | ) |
|
virtual |
Processes a frame received from one application endpoint.
Frame received at application interface.
| frame | Application frame to packetize. |
| id | Application/destination identifier. |
Reimplemented from rogue::protocols::packetizer::Controller.
Definition at line 249 of file ControllerV2.cpp.
|
static |
Creates a packetizer v2 controller.
Class creation.
Parameter semantics are identical to the constructor; see ControllerV2() for construction-path 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.
| enIbCrc | Enable inbound CRC verification. |
| enObCrc | Enable outbound CRC generation. |
| enSsi | Enable SSI framing behavior. |
| tran | Transport endpoint attached to this controller. |
| app | Pointer to array of application endpoints indexed by destination. |
Definition at line 45 of file ControllerV2.cpp.
|
virtual |
Processes a frame received at the transport interface.
Frame received at transport interface.
| frame | Transport frame to decode and route. |
Reimplemented from rogue::protocols::packetizer::Controller.
Definition at line 69 of file ControllerV2.cpp.