Panda3D
|
This is a special kind of ConnectionReader that waits for activity on a rendezvous port and accepts a TCP connection (instead of attempting to read a datagram from the rendezvous port). More...
#include "connectionListener.h"
Public Member Functions | |
ConnectionListener (ConnectionManager *manager, int num_threads, const string &thread_name=string()) | |
Protected Member Functions | |
virtual void | connection_opened (const PT(Connection)&rendezvous, const NetAddress &address, const PT(Connection)&new_connection)=0 |
virtual bool | process_incoming_data (SocketInfo *sinfo) |
This is the function that is called when activity is detected on a rendezvous port. | |
virtual void | receive_datagram (const NetDatagram &datagram) |
This function must be declared because it is pure virtual in the base class, but it isn't used in this class and doesn't do anything. |
This is a special kind of ConnectionReader that waits for activity on a rendezvous port and accepts a TCP connection (instead of attempting to read a datagram from the rendezvous port).
It is itself an abstract class, as it doesn't define what to do with the established connection. See QueuedConnectionListener.
Definition at line 35 of file connectionListener.h.
bool ConnectionListener::process_incoming_data | ( | SocketInfo * | sinfo | ) | [protected, virtual] |
This is the function that is called when activity is detected on a rendezvous port.
In this case, it performs the accept().
Reimplemented from ConnectionReader.
Definition at line 63 of file connectionListener.cxx.
References ConnectionReader::finish_socket(), Thread::force_yield(), NetAddress::get_ip_string(), Socket_IP::GetLastError(), and ConnectionManager::new_connection().
void ConnectionListener::receive_datagram | ( | const NetDatagram & | datagram | ) | [protected, virtual] |
This function must be declared because it is pure virtual in the base class, but it isn't used in this class and doesn't do anything.
Implements ConnectionReader.
Definition at line 50 of file connectionListener.cxx.