17 #ifndef CYBER_IO_SESSION_H_ 18 #define CYBER_IO_SESSION_H_ 21 #include <sys/socket.h> 22 #include <sys/types.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);
80 #endif // CYBER_IO_SESSION_H_ PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
std::unique_ptr< PollHandler > PollHandlerPtr
Definition: session.h:36
ssize_t Read(void *buf, size_t count, int timeout_ms=-1)
SessionPtr Accept(struct sockaddr *addr, socklen_t *addrlen)
virtual ~Session()=default
ssize_t RecvFrom(void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen, int timeout_ms=-1)
ssize_t SendTo(const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen, int timeout_ms=-1)
int Socket(int domain, int type, int protocol)
ssize_t Write(const void *buf, size_t count, int timeout_ms=-1)
ssize_t Send(const void *buf, size_t len, int flags, int timeout_ms=-1)
std::shared_ptr< Session > SessionPtr
Definition: session.h:35
ssize_t Recv(void *buf, size_t len, int flags, int timeout_ms=-1)
int Connect(const struct sockaddr *addr, socklen_t addrlen)
int fd() const
Definition: session.h:64
int Bind(const struct sockaddr *addr, socklen_t addrlen)