#pragma once #include <uv.h> #include "core.hpp" #include "uvloop.hpp" namespace uv { class TcpStream { public: TcpStream(UvLoop& loop); template <typename T> T* data(); template <typename T> void data(T* value); void close(callback_t callback); operator uv_handle_t*(); operator uv_tcp_t*(); operator uv_stream_t*(); private: uv_tcp_t stream; }; }