ui-utilcpp
1.8.3
|
#include <Socket.hpp>
Public Member Functions | |
Socket (int fd=-1, bool closeFd=false) | |
Construct socket. | |
std::string | getId (bool const &peer=false) const |
Get human-readable id string. | |
std::string | getPeerId () const |
Get peer id. | |
virtual Socket & | connect () |
Connect this socket. | |
virtual Socket & | bind () |
Bind this socket. | |
Socket & | listen (int backlog=16) |
Start listening. | |
int | accept (long int toSeconds=0, long int toMicroSeconds=0) |
Accept an incoming socket connection. | |
int | shutdown (int how, bool doThrow=true) |
Shutdown socket. | |
virtual std::streamsize | read (void *const buf, std::streamsize count) |
C++-like virtual read method. More... | |
virtual std::streamsize | write (void const *const buf, std::streamsize count) |
C++-like virtual write method. More... | |
Configure socket behaviour. | |
Socket & | setRcvTimeout (long int seconds, long int microseconds=0) |
Socket & | setSndTimeout (long int seconds, long int microseconds=0) |
Socket & | setUnblock (bool unblock=true) |
Wrappers for recv(2) and send(2). | |
ssize_t | recv (void *const buf, size_t len, int flags=0) |
ssize_t | send (void const *const msg, size_t len, int flags=0) |
![]() | |
FileDescriptor (int fd=-1, bool closeFd=false) | |
Constructor from file descriptor. More... | |
virtual | ~FileDescriptor () |
Destructor. More... | |
int | getFd () const |
Get file descriptor. | |
Additional Inherited Members | |
![]() | |
enum | ErrorCode { OpenErr_ = 1, ReadErr_, WriteErr_, LockErr_, UnlockErr_, BindErr_, ConnectErr_, UnblockErr_, ListenErr_, ShutdownErr_ } |
Error codes for exceptions. | |
typedef CodeException< ErrorCode > | Exception |
Exceptions for this class. | |
![]() | |
static void | fdClose (int const &fd, std::string const &id, bool const &doClose=true) |
Helper to close file descriptors from destructors. | |
![]() | |
void | init (int fd, bool closeFd=false) |
To be called in a constructor. | |
![]() | |
int | fd_ |
The file descriptor that is managed. | |
Socket abstraction.
|
virtual |
C++-like virtual read method.
This implementation uses recv(2).
Reimplemented from UI::Util::FileDescriptor.
References getId(), and UI_THROW_CODE.
|
virtual |
C++-like virtual write method.
This implementation uses send(2).
Reimplemented from UI::Util::FileDescriptor.
References getId(), and UI_THROW_CODE.