17#ifndef CYBER_IO_SESSION_H_
18#define CYBER_IO_SESSION_H_
21#include <sys/socket.h>
42 int Socket(
int domain,
int type,
int protocol);
44 int Bind(
const struct sockaddr *addr, socklen_t addrlen);
46 int Connect(
const struct sockaddr *addr, socklen_t addrlen);
52 ssize_t
Recv(
void *buf,
size_t len,
int flags,
int timeout_ms = -1);
53 ssize_t
RecvFrom(
void *buf,
size_t len,
int flags,
struct sockaddr *src_addr,
54 socklen_t *addrlen,
int timeout_ms = -1);
56 ssize_t
Send(
const void *buf,
size_t len,
int flags,
int timeout_ms = -1);
57 ssize_t
SendTo(
const void *buf,
size_t len,
int flags,
58 const struct sockaddr *dest_addr, socklen_t addrlen,
61 ssize_t
Read(
void *buf,
size_t count,
int timeout_ms = -1);
62 ssize_t
Write(
const void *buf,
size_t count,
int timeout_ms = -1);
64 int fd()
const {
return fd_; }
69 poll_handler_->set_fd(
fd);
ssize_t RecvFrom(void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen, int timeout_ms=-1)
ssize_t Write(const void *buf, size_t count, int timeout_ms=-1)
std::shared_ptr< Session > SessionPtr
std::unique_ptr< PollHandler > PollHandlerPtr
ssize_t SendTo(const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen, int timeout_ms=-1)
virtual ~Session()=default
int Bind(const struct sockaddr *addr, socklen_t addrlen)
ssize_t Recv(void *buf, size_t len, int flags, int timeout_ms=-1)
ssize_t Read(void *buf, size_t count, int timeout_ms=-1)
SessionPtr Accept(struct sockaddr *addr, socklen_t *addrlen)
ssize_t Send(const void *buf, size_t len, int flags, int timeout_ms=-1)
int Connect(const struct sockaddr *addr, socklen_t addrlen)
int Socket(int domain, int type, int protocol)