diff options
Diffstat (limited to 'src/osd/modules/ipc/rtc_tcp_connection.h')
-rw-r--r-- | src/osd/modules/ipc/rtc_tcp_connection.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/osd/modules/ipc/rtc_tcp_connection.h b/src/osd/modules/ipc/rtc_tcp_connection.h new file mode 100644 index 00000000000..9ec74b90537 --- /dev/null +++ b/src/osd/modules/ipc/rtc_tcp_connection.h @@ -0,0 +1,33 @@ +// license:BSD-3-Clause +// copyright-holders:Inaki Baz Castillo,Miodrag Milanovic + +#ifndef RTC_TCP_CONNECTION_H +#define RTC_TCP_CONNECTION_H + +#include "tcp_connection.h" + + +class rtc_tcp_connection : public tcp_connection +{ +public: + class listener + { + public: + virtual ~listener(){ } + virtual void on_packet_recv(rtc_tcp_connection *connection, const uint8_t* data, size_t len) = 0; + }; + + rtc_tcp_connection(listener* listener, size_t bufferSize); + virtual ~rtc_tcp_connection(); + + /* Pure virtual methods inherited from tcp_connection. */ + virtual void user_on_tcp_connection_read() override; + + void send(const uint8_t* data, size_t len); + +private: + // Passed by argument. + listener* m_listener; + size_t m_frame_start; // Where the latest frame starts. +}; +#endif |