rogue
Loading...
Searching...
No Matches
Application.h
Go to the documentation of this file.
1
17#ifndef __ROGUE_PROTOCOLS_RSSI_APPLICATION_H__
18#define __ROGUE_PROTOCOLS_RSSI_APPLICATION_H__
19#include "rogue/Directives.h"
20
21#include <stdint.h>
22
23#include <memory>
24
27
28namespace rogue {
29namespace protocols {
30namespace rssi {
31
32class Controller;
33
51 // RSSI controller backend.
52 std::shared_ptr<rogue::protocols::rssi::Controller> cntl_;
53
54 // Outbound application worker thread.
55 std::thread* thread_;
56 bool threadEn_;
57
58 // Worker thread entry point.
59 void runThread();
60
61 public:
72 static std::shared_ptr<rogue::protocols::rssi::Application> create();
73
75 static void setup_python();
76
85
88
97 void setController(std::shared_ptr<rogue::protocols::rssi::Controller> cntl);
98
109 std::shared_ptr<rogue::interfaces::stream::Frame> acceptReq(uint32_t size, bool zeroCopyEn);
110
115 void acceptFrame(std::shared_ptr<rogue::interfaces::stream::Frame> frame);
116};
117
118// Convienence
119typedef std::shared_ptr<rogue::protocols::rssi::Application> ApplicationPtr;
120
121} // namespace rssi
122} // namespace protocols
123}; // namespace rogue
124
125#endif
Stream master endpoint.
Definition Master.h:65
Stream slave endpoint and default frame pool.
Definition Slave.h:72
RSSI application-side endpoint.
Definition Application.h:50
static void setup_python()
Registers Python bindings for this class.
void acceptFrame(std::shared_ptr< rogue::interfaces::stream::Frame > frame)
Accepts a frame from upstream application logic.
~Application()
Destroys the application endpoint.
void setController(std::shared_ptr< rogue::protocols::rssi::Controller > cntl)
Attaches the RSSI controller.
std::shared_ptr< rogue::interfaces::stream::Frame > acceptReq(uint32_t size, bool zeroCopyEn)
Allocates a frame for upstream writers.
static std::shared_ptr< rogue::protocols::rssi::Application > create()
Creates an RSSI application endpoint.
Application()
Constructs an RSSI application endpoint.
RSSI protocol controller.
Definition Controller.h:63
std::shared_ptr< rogue::protocols::rssi::Application > ApplicationPtr