rogue
Loading...
Searching...
No Matches
ControllerV1.h
Go to the documentation of this file.
1
17#ifndef __ROGUE_PROTOCOLS_PACKETIZER_CONTROLLER_V1_H__
18#define __ROGUE_PROTOCOLS_PACKETIZER_CONTROLLER_V1_H__
19#include "rogue/Directives.h"
20
21#include <stdint.h>
22
23#include <memory>
24
26#include "rogue/Logging.h"
27#include "rogue/Queue.h"
31
32namespace rogue {
33namespace protocols {
34namespace packetizer {
35
36class Application;
37class Transport;
38class Header;
39
47class ControllerV1 : public Controller, public rogue::EnableSharedFromThis<rogue::protocols::packetizer::ControllerV1> {
48 public:
64 static std::shared_ptr<rogue::protocols::packetizer::ControllerV1> create(
65 bool enSsi,
66 std::shared_ptr<rogue::protocols::packetizer::Transport> tran,
67 std::shared_ptr<rogue::protocols::packetizer::Application>* app);
68
80 ControllerV1(bool enSsi,
81 std::shared_ptr<rogue::protocols::packetizer::Transport> tran,
82 std::shared_ptr<rogue::protocols::packetizer::Application>* app);
83
86
91 void transportRx(std::shared_ptr<rogue::interfaces::stream::Frame> frame);
92
98 void applicationRx(std::shared_ptr<rogue::interfaces::stream::Frame> frame, uint8_t id);
99};
100
101// Convenience
102typedef std::shared_ptr<rogue::protocols::packetizer::ControllerV1> ControllerV1Ptr;
103
104} // namespace packetizer
105} // namespace protocols
106}; // namespace rogue
107
108#endif
Typed shared-from-this helper for Rogue classes.
Packetizer controller implementation for protocol v1.
void applicationRx(std::shared_ptr< rogue::interfaces::stream::Frame > frame, uint8_t id)
Processes a frame received from one application endpoint.
~ControllerV1()
Destroys the controller instance.
static std::shared_ptr< rogue::protocols::packetizer::ControllerV1 > create(bool enSsi, std::shared_ptr< rogue::protocols::packetizer::Transport > tran, std::shared_ptr< rogue::protocols::packetizer::Application > *app)
Creates a packetizer v1 controller.
void transportRx(std::shared_ptr< rogue::interfaces::stream::Frame > frame)
Processes a frame received at the transport interface.
Packetizer base controller.
Definition Controller.h:45
std::shared_ptr< rogue::protocols::packetizer::ControllerV1 > ControllerV1Ptr