TwiceAsNice  2019-02-18
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Basda::WutSocket Class Reference

This class is an abstraction layer for socket usable for interacting with WuT devices. More...

#include <WutSocket.h>

Inheritance diagram for Basda::WutSocket:
Inheritance graph
Collaboration diagram for Basda::WutSocket:
Collaboration graph

Public Member Functions

 WutSocket ()
 
virtual ~WutSocket ()
 
virtual bool create ()
 
bool bind (const uint16_t port)
 
bool listen () const
 
bool accept (WutSocket &) const
 
virtual bool connect (const std::string host, const uint16_t port)
 
virtual bool connectWithTimeout (const std::string host, uint16_t port, unsigned timeoutInMicroSeconds)
 
virtual bool send (const std::string) const
 
virtual int recv (std::string &) const
 
virtual bool setReceiveTimeout (unsigned timeoutInMicroSeconds)
 
virtual bool setSendTimeout (unsigned timeoutInMicroSeconds)
 
void set_non_blocking (const bool)
 
bool is_valid () const
 
 WutSocket ()
 
virtual ~WutSocket ()
 
virtual bool create ()
 
bool bind (const uint16_t port)
 
bool listen () const
 
bool accept (WutSocket &) const
 
virtual bool connect (const std::string host, const uint16_t port)
 
virtual bool connectWithTimeout (const std::string host, uint16_t port, unsigned timeoutInMicroSeconds)
 
virtual bool send (const std::string) const
 
virtual int recv (std::string &) const
 
virtual bool setReceiveTimeout (unsigned timeoutInMicroSeconds)
 
virtual bool setSendTimeout (unsigned timeoutInMicroSeconds)
 
void set_non_blocking (const bool)
 
bool is_valid () const
 
 WutSocket ()
 
virtual ~WutSocket ()
 
virtual bool create ()
 
bool bind (const uint16_t port)
 
bool listen () const
 
bool accept (WutSocket &) const
 
virtual bool connect (const std::string host, const uint16_t port)
 
virtual bool connectWithTimeout (const std::string host, uint16_t port, unsigned timeoutInMicroSeconds)
 
virtual bool send (const std::string) const
 
virtual int recv (std::string &) const
 
virtual bool setReceiveTimeout (unsigned timeoutInMicroSeconds)
 
virtual bool setSendTimeout (unsigned timeoutInMicroSeconds)
 
void set_non_blocking (const bool)
 
bool is_valid () const
 
 WutSocket ()
 
virtual ~WutSocket ()
 
virtual bool create ()
 
bool bind (const int port)
 
bool listen () const
 
bool accept (WutSocket &) const
 
virtual bool connect (const std::string host, const int port)
 
virtual bool connectWithTimeout (const std::string host, int port, unsigned timeoutInMicroSeconds)
 
virtual bool send (const std::string) const
 
virtual int recv (std::string &) const
 
virtual bool setReceiveTimeout (unsigned timeoutInMicroSeconds)
 
virtual bool setSendTimeout (unsigned timeoutInMicroSeconds)
 
void set_non_blocking (const bool)
 
bool is_valid () const
 
 WutSocket ()
 
virtual ~WutSocket ()
 
virtual bool create ()
 
bool bind (const int port)
 
bool listen () const
 
bool accept (WutSocket &) const
 
virtual bool connect (const std::string host, const int port)
 
virtual bool connectWithTimeout (const std::string host, int port, unsigned timeoutInMicroSeconds)
 
virtual bool send (const std::string) const
 
virtual int recv (std::string &) const
 
virtual bool setReceiveTimeout (unsigned timeoutInMicroSeconds)
 
virtual bool setSendTimeout (unsigned timeoutInMicroSeconds)
 
void set_non_blocking (const bool)
 
bool is_valid () const
 

Private Member Functions

bool nonBlockingConnectWithTimeout (unsigned timeoutInMicroSeconds)
 
bool setSocketTimeout (int optval, unsigned timeoutInMicroSeconds)
 
bool nonBlockingConnectWithTimeout (unsigned timeoutInMicroSeconds)
 
bool setSocketTimeout (int optval, unsigned timeoutInMicroSeconds)
 
bool nonBlockingConnectWithTimeout (unsigned timeoutInMicroSeconds)
 
bool setSocketTimeout (int optval, unsigned timeoutInMicroSeconds)
 
bool nonBlockingConnectWithTimeout (unsigned timeoutInMicroSeconds)
 
bool setSocketTimeout (int optval, unsigned timeoutInMicroSeconds)
 
bool nonBlockingConnectWithTimeout (unsigned timeoutInMicroSeconds)
 
bool setSocketTimeout (int optval, unsigned timeoutInMicroSeconds)
 

Private Attributes

int m_sock
 
sockaddr_in m_addr
 

Detailed Description

This class is an abstraction layer for socket usable for interacting with WuT devices.

Constructor & Destructor Documentation

◆ WutSocket() [1/5]

Basda::WutSocket::WutSocket ( )

◆ ~WutSocket() [1/5]

Basda::WutSocket::~WutSocket ( )
virtual

◆ WutSocket() [2/5]

Basda::WutSocket::WutSocket ( )

◆ ~WutSocket() [2/5]

virtual Basda::WutSocket::~WutSocket ( )
virtual

◆ WutSocket() [3/5]

Basda::WutSocket::WutSocket ( )

◆ ~WutSocket() [3/5]

virtual Basda::WutSocket::~WutSocket ( )
virtual

◆ WutSocket() [4/5]

Basda::WutSocket::WutSocket ( )

◆ ~WutSocket() [4/5]

virtual Basda::WutSocket::~WutSocket ( )
virtual

◆ WutSocket() [5/5]

Basda::WutSocket::WutSocket ( )

◆ ~WutSocket() [5/5]

virtual Basda::WutSocket::~WutSocket ( )
virtual

Member Function Documentation

◆ accept() [1/5]

bool Basda::WutSocket::accept ( WutSocket ) const

◆ accept() [2/5]

bool Basda::WutSocket::accept ( WutSocket ) const

◆ accept() [3/5]

bool Basda::WutSocket::accept ( WutSocket new_socket) const

◆ accept() [4/5]

bool Basda::WutSocket::accept ( WutSocket ) const

◆ accept() [5/5]

bool Basda::WutSocket::accept ( WutSocket ) const

◆ bind() [1/5]

bool Basda::WutSocket::bind ( const int  port)

◆ bind() [2/5]

bool Basda::WutSocket::bind ( const int  port)

◆ bind() [3/5]

bool Basda::WutSocket::bind ( const uint16_t  port)

◆ bind() [4/5]

bool Basda::WutSocket::bind ( const uint16_t  port)

◆ bind() [5/5]

bool Basda::WutSocket::bind ( const uint16_t  port)

◆ connect() [1/5]

bool Basda::WutSocket::connect ( const std::string  host,
const int  port 
)
virtual

◆ connect() [2/5]

virtual bool Basda::WutSocket::connect ( const std::string  host,
const int  port 
)
virtual

◆ connect() [3/5]

virtual bool Basda::WutSocket::connect ( const std::string  host,
const uint16_t  port 
)
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ connect() [4/5]

virtual bool Basda::WutSocket::connect ( const std::string  host,
const uint16_t  port 
)
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ connect() [5/5]

bool Basda::WutSocket::connect ( const std::string  host,
const uint16_t  port 
)
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ connectWithTimeout() [1/5]

bool Basda::WutSocket::connectWithTimeout ( const std::string  host,
int  port,
unsigned  timeoutInMicroSeconds 
)
virtual
Note
This implementation was inspired by chapter 16.4 in book "UNIX Network Programming Volume 1, Third Edition: The Sockets Networking API" (author: Richard W. Stevens). This book is also available in Safari books online: http://proquest.safaribooksonline.com/0-13-141155-1

◆ connectWithTimeout() [2/5]

virtual bool Basda::WutSocket::connectWithTimeout ( const std::string  host,
int  port,
unsigned  timeoutInMicroSeconds 
)
virtual

◆ connectWithTimeout() [3/5]

virtual bool Basda::WutSocket::connectWithTimeout ( const std::string  host,
uint16_t  port,
unsigned  timeoutInMicroSeconds 
)
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ connectWithTimeout() [4/5]

virtual bool Basda::WutSocket::connectWithTimeout ( const std::string  host,
uint16_t  port,
unsigned  timeoutInMicroSeconds 
)
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ connectWithTimeout() [5/5]

bool Basda::WutSocket::connectWithTimeout ( const std::string  host,
uint16_t  port,
unsigned  timeoutInMicroSeconds 
)
virtual
Note
This implementation was inspired by chapter 16.4 in book "UNIX Network Programming Volume 1, Third Edition: The Sockets Networking API" (author: Richard W. Stevens). This book is also available in Safari books online: http://proquest.safaribooksonline.com/0-13-141155-1

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ create() [1/5]

virtual bool Basda::WutSocket::create ( )
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ create() [2/5]

virtual bool Basda::WutSocket::create ( )
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ create() [3/5]

bool Basda::WutSocket::create ( )
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ create() [4/5]

virtual bool Basda::WutSocket::create ( )
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ create() [5/5]

virtual bool Basda::WutSocket::create ( )
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ is_valid() [1/5]

bool Basda::WutSocket::is_valid ( ) const
inline

◆ is_valid() [2/5]

bool Basda::WutSocket::is_valid ( ) const
inline

◆ is_valid() [3/5]

bool Basda::WutSocket::is_valid ( ) const
inline

◆ is_valid() [4/5]

bool Basda::WutSocket::is_valid ( ) const
inline

◆ is_valid() [5/5]

bool Basda::WutSocket::is_valid ( ) const
inline

◆ listen() [1/5]

bool Basda::WutSocket::listen ( ) const

◆ listen() [2/5]

bool Basda::WutSocket::listen ( ) const

◆ listen() [3/5]

bool Basda::WutSocket::listen ( ) const

◆ listen() [4/5]

bool Basda::WutSocket::listen ( ) const

◆ listen() [5/5]

bool Basda::WutSocket::listen ( ) const

◆ nonBlockingConnectWithTimeout() [1/5]

bool Basda::WutSocket::nonBlockingConnectWithTimeout ( unsigned  timeoutInMicroSeconds)
private

◆ nonBlockingConnectWithTimeout() [2/5]

bool Basda::WutSocket::nonBlockingConnectWithTimeout ( unsigned  timeoutInMicroSeconds)
private

◆ nonBlockingConnectWithTimeout() [3/5]

bool Basda::WutSocket::nonBlockingConnectWithTimeout ( unsigned  timeoutInMicroSeconds)
private

◆ nonBlockingConnectWithTimeout() [4/5]

bool Basda::WutSocket::nonBlockingConnectWithTimeout ( unsigned  timeoutInMicroSeconds)
private

◆ nonBlockingConnectWithTimeout() [5/5]

bool Basda::WutSocket::nonBlockingConnectWithTimeout ( unsigned  timeoutInMicroSeconds)
private

◆ recv() [1/5]

virtual int Basda::WutSocket::recv ( std::string &  ) const
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ recv() [2/5]

virtual int Basda::WutSocket::recv ( std::string &  ) const
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ recv() [3/5]

int Basda::WutSocket::recv ( std::string &  s) const
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ recv() [4/5]

virtual int Basda::WutSocket::recv ( std::string &  ) const
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ recv() [5/5]

virtual int Basda::WutSocket::recv ( std::string &  ) const
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ send() [1/5]

virtual bool Basda::WutSocket::send ( const std::string  ) const
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ send() [2/5]

virtual bool Basda::WutSocket::send ( const std::string  ) const
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ send() [3/5]

virtual bool Basda::WutSocket::send ( const std::string  ) const
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ send() [4/5]

virtual bool Basda::WutSocket::send ( const std::string  ) const
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ send() [5/5]

bool Basda::WutSocket::send ( const std::string  s) const
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ set_non_blocking() [1/5]

void Basda::WutSocket::set_non_blocking ( const bool  )

◆ set_non_blocking() [2/5]

void Basda::WutSocket::set_non_blocking ( const bool  )

◆ set_non_blocking() [3/5]

void Basda::WutSocket::set_non_blocking ( const bool  b)

◆ set_non_blocking() [4/5]

void Basda::WutSocket::set_non_blocking ( const bool  )

◆ set_non_blocking() [5/5]

void Basda::WutSocket::set_non_blocking ( const bool  )

◆ setReceiveTimeout() [1/5]

virtual bool Basda::WutSocket::setReceiveTimeout ( unsigned  timeoutInMicroSeconds)
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ setReceiveTimeout() [2/5]

virtual bool Basda::WutSocket::setReceiveTimeout ( unsigned  timeoutInMicroSeconds)
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ setReceiveTimeout() [3/5]

virtual bool Basda::WutSocket::setReceiveTimeout ( unsigned  timeoutInMicroSeconds)
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ setReceiveTimeout() [4/5]

bool Basda::WutSocket::setReceiveTimeout ( unsigned  timeoutInMicroSeconds)
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ setReceiveTimeout() [5/5]

virtual bool Basda::WutSocket::setReceiveTimeout ( unsigned  timeoutInMicroSeconds)
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ setSendTimeout() [1/5]

virtual bool Basda::WutSocket::setSendTimeout ( unsigned  timeoutInMicroSeconds)
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ setSendTimeout() [2/5]

virtual bool Basda::WutSocket::setSendTimeout ( unsigned  timeoutInMicroSeconds)
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ setSendTimeout() [3/5]

virtual bool Basda::WutSocket::setSendTimeout ( unsigned  timeoutInMicroSeconds)
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ setSendTimeout() [4/5]

virtual bool Basda::WutSocket::setSendTimeout ( unsigned  timeoutInMicroSeconds)
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ setSendTimeout() [5/5]

bool Basda::WutSocket::setSendTimeout ( unsigned  timeoutInMicroSeconds)
virtual

Reimplemented in test::FakeWutSocket, and test::FakeWutSocket.

◆ setSocketTimeout() [1/5]

bool Basda::WutSocket::setSocketTimeout ( int  optval,
unsigned  timeoutInMicroSeconds 
)
private

◆ setSocketTimeout() [2/5]

bool Basda::WutSocket::setSocketTimeout ( int  optval,
unsigned  timeoutInMicroSeconds 
)
private

◆ setSocketTimeout() [3/5]

bool Basda::WutSocket::setSocketTimeout ( int  optval,
unsigned  timeoutInMicroSeconds 
)
private

◆ setSocketTimeout() [4/5]

bool Basda::WutSocket::setSocketTimeout ( int  optval,
unsigned  timeoutInMicroSeconds 
)
private

◆ setSocketTimeout() [5/5]

bool Basda::WutSocket::setSocketTimeout ( int  optval,
unsigned  timeoutInMicroSeconds 
)
private

Member Data Documentation

◆ m_addr

sockaddr_in Basda::WutSocket::m_addr
private

◆ m_sock

int Basda::WutSocket::m_sock
private

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