memgraph/io/network/tcp_stream.hpp

34 lines
470 B
C++
Raw Normal View History

2015-10-28 03:21:28 +08:00
#pragma once
#include "epoll.hpp"
#include "socket.hpp"
#include "memory/literals.hpp"
2015-10-28 03:21:28 +08:00
namespace io
{
class TcpStream
{
public:
TcpStream(Socket&& socket) : socket(std::move(socket))
2015-10-28 03:21:28 +08:00
{
event.data.ptr = this;
}
void close()
{
delete reinterpret_cast<TcpStream*>(event.data.ptr);
}
int id() const { return socket.id(); }
2015-10-28 03:21:28 +08:00
Socket socket;
Epoll::Event event;
// custom data we can pass on
void* data;
2015-10-28 03:21:28 +08:00
};
}