My Project
Public Member Functions | Protected Member Functions | List of all members
core::TLSSession Class Reference

#include <TLSSession.h>

Inheritance diagram for core::TLSSession:
Inheritance graph
[legend]
Collaboration diagram for core::TLSSession:
Collaboration graph
[legend]

Public Member Functions

 TLSSession (EPoll &ePoll, TCPServer &server)
 
virtual void output (std::stringstream &out)
 
virtual void protocol (coreutils::ZString &data) override
 
- Public Member Functions inherited from core::TCPSession
 TCPSession (EPoll &ePoll, TCPServer &server, std::string text="")
 
void send ()
 
void terminate ()
 
- Public Member Functions inherited from core::TCPSocket
 TCPSocket (EPoll &ePoll)
 
 TCPSocket (EPoll &ePoll, std::string text)
 
void connect (IPAddress &address)
 
- Public Member Functions inherited from core::Socket
 Socket (EPoll &ePoll, std::string text="")
 
virtual ~Socket ()
 
void shutdown (std::string text="unknown")
 
void setDescriptor (int descriptor)
 Set the descriptor for the socket. More...
 
int getDescriptor ()
 Get the descriptor for the socket.
 
bool eventReceived (struct epoll_event event, long long eventId)
 Parse epoll event and call specified callbacks. More...
 
int write (std::string data, Socket *sender)
 
void write (char *buffer, int length)
 
void output (std::stringstream &out)
 
virtual void onUnregister ()
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
bool needsToWrite ()
 

Protected Member Functions

void receiveData (coreutils::ZString &buffer) override
 
void onRegister ()
 Called before the socket has registered with the epoll processing. More...
 
void onRegistered ()
 Called after the socket has been registered with epoll processing.
 
- Protected Member Functions inherited from core::TCPSession
virtual void onDataReceived (coreutils::ZString &data) override
 
virtual void onLineReceived (coreutils::ZString &line)
 
virtual void onBlockReceived (coreutils::ZString &block)
 
virtual void onConnected ()
 
void setBlockSize (int size=0)
 
- Protected Member Functions inherited from core::Socket
void setBufferSize (int length)
 
int getBufferSize ()
 
virtual void onDataReceived (std::string data)
 Called when data is received from the socket. More...
 

Additional Inherited Members

- Public Attributes inherited from core::TCPSession
Commandgrab = NULL
 
TCPServerserver
 
std::stringstream out
 
- Public Attributes inherited from core::TCPSocket
IPAddress ipAddress
 
- Public Attributes inherited from core::Socket
bool reset = false
 
volatile bool shutDown = false
 
- Protected Attributes inherited from core::Socket
EPollePoll
 

Detailed Description

TLSSession

Provides a network TLS socket.

For accessing TLS network functions use this object. The connection oriented nature of TLS provides a single client persistent connection with data error correction and a durable synchronous data connection.

Member Function Documentation

◆ onRegister()

void core::TLSSession::onRegister ( )
protectedvirtual

Called before the socket has registered with the epoll processing.

The onRegister method is called before the socket is registered with ePoll so objects extending the Socket definition can initialize the socket before receiving events. Evoked when the descriptor is set using setDescriptor for the socket.

Reimplemented from core::Socket.

◆ output()

void core::TLSSession::output ( std::stringstream &  out)
virtual

The output method is called by a socket session (Session) and will output the detail information for the client socket. When extending TLSSocket or Session you can override the method to add attributes to the list.

Reimplemented from core::TCPSession.

◆ protocol()

void core::TLSSession::protocol ( coreutils::ZString &  data)
overridevirtual

Override the protocol method to manage and control the session communications in your inherited session. If you do not override this method then the Session default will process the 'commands' added to the server object using the processRequest method on the session input.

When data is received within the session two modes are available to pass the data through the protocol method: LINE or BLOCK.

Reimplemented from core::TCPSession.

◆ receiveData()

void core::TLSSession::receiveData ( coreutils::ZString &  buffer)
overrideprotectedvirtual

receiveData will read the data from the socket and place it in the socket buffer. TLS layer overrides this to be able to read from SSL.

Reimplemented from core::Socket.


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