33 virtual int Connect(
const std::string& ip,
int port) = 0;
34 virtual int Listen(
const std::string& ip,
int port) = 0;
38 virtual std::unique_ptr<Socket>
Accept() = 0;
41 virtual int Recv(
void** buf,
size_t* len) = 0;
43 virtual int SetSocketOpt(
const char* option,
int optval) {
return -1; }
48 virtual int SetAsync(
bool is_open =
true) {
return -1; }
virtual int Listen(const std::string &ip, int port)=0
virtual int SetSocketOpt(const char *option, int optval)
virtual int Recv(void **buf, size_t *len)=0
virtual int Send(const std::string &data)=0
virtual void SetRecvTimeout(int64_t microseconds)
virtual int Connect(const std::string &ip, int port)=0
virtual int GetBindingPort()=0
virtual std::unique_ptr< Socket > Accept()=0
virtual ~Socket()=default
virtual int SetAsync(bool is_open=true)
virtual void SetSendTimeout(int64_t microseconds)