LibNRG  0.0.1
Networking for Real-time Games library
 All Classes Files Functions Variables Friends
nrg::Socket Class Reference

Base socket class.

#include <nrg_socket.h>

Inheritance diagram for nrg::Socket:
nrg::UDPSocket

Public Member Functions

 Socket (int type, int family=PF_UNSPEC)
 Constructs a socket with the given type and family.
 
 Socket (int type, const NetAddress &addr)
 Constructs a socket with the given type and a family derived from the given address.
 
void setFamilyFromAddress (const NetAddress &addr)
 Sets the socket's family using the family of the given address.
 
Status bind (const NetAddress &addr)
 Bind the socket to the given local address.
 
Status connect (const NetAddress &addr)
 Connects the socket to the given remote address.
 
void disconnect ()
 Disconnects the socket.
 
bool isConnected () const
 Returns true if the socket is connected.
 
Status sendPacket (const Packet &p) const
 Sends a Packet to the address this socket is connected to.
 
Status sendPacket (const Packet &p, const NetAddress &addr) const
 Sends a Packet to the given address.
 
Status recvPacket (Packet &p) const
 Receive a Packet from this socket's connected address.
 
Status recvPacket (Packet &p, NetAddress &addr)
 Receive a Packet from anyone, and put their address into addr.
 
template<typename T >
bool setOption (int level, int name, const T &opt)
 Template wrapper around setsockopt.
 
bool dataPending (int usToBlock=0) const
 Uses select() to determine if data is available for reading on this socket.
 
void setNonBlocking (bool nonblock)
 Sets this socket as non-blocking.
 
void enableTimestamps (bool enable)
 Enables or disables the use of getLastTimestamp()
 
void handleUnconnectedICMPErrors (bool enable)
 Enables or disables checking for ICMP related errors on this socket, if available.
 
const std::unique_ptr
< NetAddress > & 
getBoundAddress () const
 Returns the address this socket is bound to.
 
const std::unique_ptr
< NetAddress > & 
getConnectedAddress () const
 Returns the address this socket is connected to.
 
uint64_t getLastTimestamp () const
 Gets a timestamp of when the last packet was received, if available and enabled.
 
virtual ~Socket ()
 Default destructor.
 

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