summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/ipc/raw_tcp_connection.h
blob: 7bcfe80bfc630b6150867cb66a2894c7d8504aa4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// license:BSD-3-Clause
// copyright-holders:Inaki Baz Castillo,Miodrag Milanovic

#ifndef RAW_TCP_CONNECTION_H
#define RAW_TCP_CONNECTION_H

#include "tcp_connection.h"


class raw_tcp_connection : public tcp_connection
{
public:
	class listener
	{
	public:
		virtual ~listener(){ }
		virtual void on_data_recv(raw_tcp_connection *connection, const uint8_t* data, size_t len) = 0;
	};

	raw_tcp_connection(listener* listener, size_t bufferSize);
	virtual ~raw_tcp_connection();

	/* Pure virtual methods inherited from tcp_connection. */
	virtual void user_on_tcp_connection_read() override;

private:
	// Passed by argument.
	listener* m_listener;
};
#endif