Public Member Functions | |
Buffered_DatagramConnection (int rbufsize, int wbufsize, int write_flush_point) | |
virtual | ~Buffered_DatagramConnection (void) |
This is the function that does the connection for us. More... | |
void | AddAddress (Socket_Address &inadr) |
must be called to set value to the server More... | |
size_t | AddressQueueSize () |
void | ClearAddresses (void) |
bool | DoConnect (void) |
bool | Flush (void) |
Flush all writes. More... | |
virtual TypeHandle | force_init_type () |
virtual TypeHandle | get_type () const |
bool | GetMessage (Datagram &val) |
Reads a message. More... | |
bool | IsConnected (void) |
void | Reset (void) |
Reset. More... | |
bool | SendMessage (const Datagram &msg) |
send the message More... | |
void | WaitForNetworkReadEvent (PN_stdfloat MaxTime) |
Public Member Functions inherited from Socket_TCP | |
Socket_TCP (SOCKET) | |
bool | ActiveOpen (const Socket_Address &theaddress, bool setdelay) |
This function will try and set the socket up for active open to a specified address and port provided by the input parameter. More... | |
bool | ActiveOpenNonBlocking (const Socket_Address &theaddress) |
This function will try and set the socket up for active open to a specified address and port provided by the input parameter (non-blocking version) More... | |
int | DontLinger () |
Turn off the linger flag. More... | |
bool | ErrorIs_WouldBlocking (int err) |
std::string | RecvData (int max_len) |
Read the data from the connection - if error 0 if socket closed for read or length is 0 + bytes read (May be smaller than requested) More... | |
int | RecvData (char *data, int size) |
Read the data from the connection - if error 0 if socket closed for read or length is 0 + bytes read ( May be smaller than requested) More... | |
int | SendData (const std::string &str) |
int | SendData (const char *data, int size) |
Ok Lets Send the Data - if error 0 if socket closed for write or lengh is 0 + bytes writen ( May be smaller than requested) More... | |
int | SetLinger (int interval_seconds=0) |
will control the behavior of SO_LINGER for a TCP socket More... | |
int | SetNoDelay (bool flag=true) |
Disable Nagle algorithm. More... | |
int | SetSendBufferSize (int insize) |
Just like it sounds. More... | |
bool | ShutdownSend () |
Public Member Functions inherited from Socket_IP | |
Socket_IP () | |
Def Constructor. More... | |
Socket_IP (SOCKET in) | |
Assigns an existing socket to this class. More... | |
virtual | ~Socket_IP () |
Destructor. More... | |
bool | Active () |
Ask if the socket is open (allocated) More... | |
void | Close () |
Closes a socket if it is open (allocated). More... | |
Socket_Address | GetPeerName (void) const |
Wrapper on berkly getpeername... More... | |
SOCKET | GetSocket () |
Gets the base socket type. More... | |
SOCKET | GetSocket () const |
Get The RAW file id of the socket. More... | |
int | SetBlocking () |
Set the socket to block on subsequent calls to socket functions that address this socket. More... | |
int | SetNonBlocking () |
this function will throw a socket into non-blocking mode More... | |
int | SetRecvBufferSize (int size) |
Ok it sets the recv buffer size for both tcp and UDP. More... | |
bool | SetReuseAddress (bool flag=true) |
Informs a socket to reuse IP address as needed. More... | |
void | SetSocket (SOCKET ins) |
Assigns an existing socket to this class. More... | |
bool | SetV6Only (bool flag) |
Sets a flag indicating whether this IPv6 socket should operate in dual-stack mode or not. More... | |
Public Member Functions inherited from TypedObject | |
TypedObject (const TypedObject ©)=default | |
TypedObject * | as_typed_object () |
Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
const TypedObject * | as_typed_object () const |
Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
int | get_best_parent_from_Set (const std::set< int > &) const |
int | get_type_index () const |
Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More... | |
bool | is_exact_type (TypeHandle handle) const |
Returns true if the current object is the indicated type exactly. More... | |
bool | is_of_type (TypeHandle handle) const |
Returns true if the current object is or derives from the indicated type. More... | |
TypedObject & | operator= (const TypedObject ©)=default |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
Static Public Member Functions inherited from Socket_TCP | |
static TypeHandle | get_class_type () |
static void | init_type () |
Static Public Member Functions inherited from Socket_IP | |
static TypeHandle | get_class_type () |
static int | GetLastError () |
Gets the last errcode from a socket operation. More... | |
static void | init_type () |
static int | InitNetworkDriver () |
Static Public Member Functions inherited from TypedObject | |
static TypeHandle | get_class_type () |
static void | init_type () |
This function is declared non-inline to work around a compiler bug in g++ 2.96. More... | |
Friends | |
class | Buffered_DatagramReader |
class | Buffered_DatagramWriter |
Additional Inherited Members | |
Public Attributes inherited from TypedObject | |
get_type | |
Definition at line 35 of file buffered_datagramconnection.h.
|
inlinevirtual |
This is the function that does the connection for us.
Definition at line 208 of file buffered_datagramconnection.h.
References Socket_IP::Close().
|
inline |
must be called to set value to the server
Definition at line 236 of file buffered_datagramconnection.h.
|
inline |
Flush all writes.
Definition at line 270 of file buffered_datagramconnection.h.
References RingBuffer::AmountBuffered(), and Socket_IP::GetLastError().
|
inline |
Reads a message.
Returns false on failure.
Definition at line 248 of file buffered_datagramconnection.h.
References RingBuffer::AmountBuffered().
|
inline |
Reset.
Definition at line 291 of file buffered_datagramconnection.h.
bool Buffered_DatagramConnection::SendMessage | ( | const Datagram & | msg | ) |
send the message
Definition at line 22 of file buffered_datagramconnection.cxx.
References RingBuffer::AmountBuffered(), Datagram::get_data(), and Datagram::get_length().