| 
#include <ServerConnection.h>
  
Public Types | |
| enum class | Type { TCP , SSL } | 
| using | Function = std::function< void(const Runable &task, TCPSocket &socket, const String &address)> | 
Public Member Functions | |
| ServerConnection (TCPServer &server, SOCKET connectionSocket, Type type, const sockaddr_in *connectionAddress, const String &taskName, const ServerConnection::Function &connectionFunction={}) | |
| TCPSocket & | socket () const | 
| TCPServer & | server () const | 
| String | address () const | 
| size_t | serial () const | 
  Public Member Functions inherited from sptk::Runable | |
| Runable (const String &name) | |
| virtual | ~Runable ()=default | 
| void | execute () | 
| virtual void | terminate () | 
| bool | terminated () const | 
| String | name () const | 
Protected Member Functions | |
| void | setSocket (const STCPSocket &socket) | 
| void | parseAddress (const sockaddr_in *connectionAddress) | 
| void | run () override | 
| virtual void | run ()=0 | 
Friends | |
| class | TCPServer | 
Abstract TCP or SSL server connection thread
Used a base class for CTCPServerConnection and COpenSSLServerConnection
| sptk::ServerConnection::ServerConnection | ( | TCPServer & | server, | 
| SOCKET | connectionSocket, | ||
| Type | type, | ||
| const sockaddr_in * | connectionAddress, | ||
| const String & | taskName, | ||
| const ServerConnection::Function & | connectionFunction = {}  | 
        ||
| ) | 
Constructor
| server | Server that created this connection | 
| connectionSocket | Already accepted by accept() function incoming connection socket | 
| taskName | Task name | 
| connectionFunction | Connection function processing this connection | 
      
  | 
  inline | 
Get incoming connection address
      
  | 
  inlineoverrideprotectedvirtual | 
Method that is executed by worker thread
Should be overwritten by derived class.
Implements sptk::Runable.
Reimplemented in sptk::WSConnection.
      
  | 
  inline | 
Get connection serial number
| TCPServer & sptk::ServerConnection::server | ( | ) | const | 
      
  | 
  protected | 
Assign new socket
| socket | Socket to assign | 
Referenced by sptk::SSLServerConnection::SSLServerConnection(), and sptk::TCPServerConnection::TCPServerConnection().
| TCPSocket & sptk::ServerConnection::socket | ( | ) | const | 
Access to internal socket for derived classes
Referenced by sptk::TCPServerConnection::TCPServerConnection(), and sptk::TCPServerConnection::terminate().