Apollo  6.0
Open source self driving car software
Public Types | Public Member Functions | List of all members
apollo::cyber::io::Session Class Reference

#include <session.h>

Collaboration diagram for apollo::cyber::io::Session:
Collaboration graph

Public Types

using SessionPtr = std::shared_ptr< Session >
 
using PollHandlerPtr = std::unique_ptr< PollHandler >
 

Public Member Functions

 Session ()
 
 Session (int fd)
 
virtual ~Session ()=default
 
int Socket (int domain, int type, int protocol)
 
int Listen (int backlog)
 
int Bind (const struct sockaddr *addr, socklen_t addrlen)
 
SessionPtr Accept (struct sockaddr *addr, socklen_t *addrlen)
 
int Connect (const struct sockaddr *addr, socklen_t addrlen)
 
int Close ()
 
ssize_t Recv (void *buf, size_t len, int flags, int timeout_ms=-1)
 
ssize_t RecvFrom (void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen, int timeout_ms=-1)
 
ssize_t Send (const void *buf, size_t len, int flags, 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)
 
ssize_t Read (void *buf, size_t count, int timeout_ms=-1)
 
ssize_t Write (const void *buf, size_t count, int timeout_ms=-1)
 
int fd () const
 

Member Typedef Documentation

◆ PollHandlerPtr

◆ SessionPtr

Constructor & Destructor Documentation

◆ Session() [1/2]

apollo::cyber::io::Session::Session ( )

◆ Session() [2/2]

apollo::cyber::io::Session::Session ( int  fd)
explicit

◆ ~Session()

virtual apollo::cyber::io::Session::~Session ( )
virtualdefault

Member Function Documentation

◆ Accept()

SessionPtr apollo::cyber::io::Session::Accept ( struct sockaddr *  addr,
socklen_t *  addrlen 
)

◆ Bind()

int apollo::cyber::io::Session::Bind ( const struct sockaddr *  addr,
socklen_t  addrlen 
)

◆ Close()

int apollo::cyber::io::Session::Close ( )

◆ Connect()

int apollo::cyber::io::Session::Connect ( const struct sockaddr *  addr,
socklen_t  addrlen 
)

◆ fd()

int apollo::cyber::io::Session::fd ( ) const
inline

◆ Listen()

int apollo::cyber::io::Session::Listen ( int  backlog)

◆ Read()

ssize_t apollo::cyber::io::Session::Read ( void *  buf,
size_t  count,
int  timeout_ms = -1 
)

◆ Recv()

ssize_t apollo::cyber::io::Session::Recv ( void *  buf,
size_t  len,
int  flags,
int  timeout_ms = -1 
)

◆ RecvFrom()

ssize_t apollo::cyber::io::Session::RecvFrom ( void *  buf,
size_t  len,
int  flags,
struct sockaddr *  src_addr,
socklen_t *  addrlen,
int  timeout_ms = -1 
)

◆ Send()

ssize_t apollo::cyber::io::Session::Send ( const void *  buf,
size_t  len,
int  flags,
int  timeout_ms = -1 
)

◆ SendTo()

ssize_t apollo::cyber::io::Session::SendTo ( const void *  buf,
size_t  len,
int  flags,
const struct sockaddr *  dest_addr,
socklen_t  addrlen,
int  timeout_ms = -1 
)

◆ Socket()

int apollo::cyber::io::Session::Socket ( int  domain,
int  type,
int  protocol 
)

◆ Write()

ssize_t apollo::cyber::io::Session::Write ( const void *  buf,
size_t  count,
int  timeout_ms = -1 
)

The documentation for this class was generated from the following file: