core::TCPServerSocket Class Reference

`#include <TCPServerSocket.h>`

Inheritance diagram for core::TCPServerSocket:
[legend]
Collaboration diagram for core::TCPServerSocket:
[legend]

## Public Member Functions

| TCPServerSocket (EPoll &ePoll, Service &service, IPAddress address)
| ~TCPServerSocket ()
Public Member Functions inherited from core::TCPSocket
| TCPSocket (EPoll &ePoll)
void | connect (IPAddress &address)
virtual void | output (std::stringstream &out)
Public Member Functions inherited from core::Socket
| Socket (EPoll &ePoll)
void | shutdown ()
void | setDescriptor (int descriptor)
| Set the descriptor for the socket.
int | getDescriptor ()
| Get the descriptor for the socket.
void | eventReceived (struct epoll_event event)
| Parse epoll event and call specified callbacks. More...
void | write (std::string data)
void | write (char *buffer, int length)
void | output (std::stringstream &out)
virtual void | onRegistered ()
| Called when the socket has finished registering with the epoll processing. More...
virtual void | onUnregistered ()
| Called when the socket has finished unregistering for the epoll processing. More...
void | enable (bool mode)
| Enable the socket to read or write based upon buffer.
Public Member Functions inherited from core::Command
virtual bool | check (std::string request)
virtual void | output (Session *session)
void | setName (std::string name)
std::string | getName ()

## Public Attributes

Service & | service
IPAddressList * | blackList
IPAddressList * | whiteList
Public Attributes inherited from core::TCPSocket
IPAddress | ipAddress
Public Attributes inherited from core::Socket
class {
} | bufferSize
Public Attributes inherited from core::Object
std::string | name
std::string | tag

## Protected Member Functions

void | onDataReceived (std::string data) override
int | processCommand (std::string command, Session *session, std::stringstream &data) override
Protected Member Functions inherited from core::Socket
void | setBufferSize (int length)
virtual void | onConnected ()
| Called when socket is open and ready to communicate. More...
virtual void | onTLSInit ()
virtual void | receiveData (char *buffer, int bufferLength)

## Additional Inherited Members

Protected Attributes inherited from core::Socket
EPoll & | ePoll
bool | shutDown = false

## Detailed Description

TCPServerSocket

Manage a socket connection as a TCP server type. Connections to the socket are processed through the accept functionality.

A list of connections is maintained in a vector object.

This object extends the BMACommand object as well so it can be added to a Console object and process commands to display status information.

## Constructor & Destructor Documentation

## TCPServerSocket()

core::TCPServerSocket::TCPServerSocket | ( | EPoll & | ePoll,
|  | Service & | service,
|  | IPAddress | address
| ) |  |

The constructor for the BMATCPSocket object.

Parameters

  ePoll | the EPoll instance that manages the socket.
  url | the IP address for the socket to receive connection requests.
  port | the port number that the socket will listen on.
  commandName | the name of the command used to invoke the status display for this object.

Returns
  the instance of the BMATCPServerSocket.

## ~TCPServerSocket()

core::TCPServerSocket::~TCPServerSocket | ( |  | ) |

The destructor for this object.

## Member Function Documentation

## onDataReceived()

void core::TCPServerSocket::onDataReceived | ( | std::string | data | ) |

overrideprotectedvirtual

Override the virtual dataReceived since for the server these are requests to accept the new connection socket. No data is to be read or written when this method is called. It is the response to the fact that a new connection is coming into the system

Parameters

  data | the pointer to the buffer containing the received data.
  length | the length of the associated data buffer.

Implements core::Socket.

## processCommand()

int core::TCPServerSocket::processCommand | ( | std::string | command,
|  | Session * | session,
|  | std::stringstream & | data
| ) |  |

overrideprotectedvirtual

This method is called when the Command associated with this object is requested because a user has typed in the associated command name on a command entry line.

Parameters

  the | session object to write the output to.

Reimplemented from core::Command.

## Member Data Documentation

## blackList

IPAddressList* core::TCPServerSocket::blackList

If not NULL the blacklist object can be assigned to this server socket and the server IP addresses connecting to the server attempting to accept a socket are contained in this list then the connection is rejected and no accept is granted.

## service

Service& core::TCPServerSocket::service

The service object reference used to access associated server information such as sessions and other extended managers.

## whiteList

IPAddressList* core::TCPServerSocket::whiteList

If not NULL the blacklist object can be assigned to this server socket and the server IP addresses connecting to the server attempting to accept a socket are contained in this list then the connection is rejected and no accept is granted.

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

- /home/bradarant/barant/ServerCore/TCPServerSocket.h
- /home/bradarant/barant/ServerCore/TCPServerSocket.cpp