#include <BaseServer.h>
Diagrama de Hierarquia para tecgraf::ftc::v1_04_01::BaseServer:
Métodos Públicos | |
BaseServer (ServerConfig &config) | |
Construtor. | |
virtual | ~BaseServer () |
Destrutor. | |
const ServerConfig & | config () const |
Retorna o objeto com as configurações utilizadas pelo servidor. | |
virtual void | dispatch () |
Inicia o servidor. | |
void | wait_ready () |
Aguarda a inicialização do servidor até que o mesmo comece a aceitar conexões. | |
void | timed_wait_ready (uint32_t timeout_ms) |
Aguarda a inicialização do servidor até que o mesmo comece a aceitar conexões passando um tempo máximo para esperar. | |
virtual void | stop () |
Sinaliza para o servidor interromper. | |
bool | stopped () const |
Informa se o servidor está parado. | |
void | exception_handler (ServerExceptionHandler *exception_handler) |
Cadastra um manipulador de exceções. | |
ServerExceptionHandler * | exception_handler () const |
Retorna o manipulador de exceções. | |
virtual BaseSession * | create_session (Connection &conn)=0 |
Cria uma sessão de uma conexão com um cliente. | |
void | on_connection_stop (Connection_ptr conn) |
Notificação recebida quando uma conexão é terminada. | |
Métodos Protegidos | |
void | start_timeout_timer () |
Inicia assincronamente o timer de timeout. | |
virtual void | check_timeout (const uint64_t &timeout_ms) |
Verifica se ocorreu timeout. |
tecgraf::ftc::v1_04_01::BaseServer::BaseServer | ( | ServerConfig & | config | ) |
Construtor.
config | Configurações utilizadas pelo servidor |
virtual BaseSession* tecgraf::ftc::v1_04_01::BaseServer::create_session | ( | Connection & | conn | ) | [pure virtual] |
Cria uma sessão de uma conexão com um cliente.
conn | Objeto com a referência para a conexão. |
Implementado por tecgraf::ftc::v1_04_01::FTCServer.
virtual void tecgraf::ftc::v1_04_01::BaseServer::dispatch | ( | ) | [virtual] |
Inicia o servidor.
Este método é bloqueante.
Para capturar a porta atribuída na inicialização é necessário perguntar para o método config().port().
ServerExceptionHandler* tecgraf::ftc::v1_04_01::BaseServer::exception_handler | ( | ) | const |
Retorna o manipulador de exceções.
void tecgraf::ftc::v1_04_01::BaseServer::exception_handler | ( | ServerExceptionHandler * | exception_handler | ) |
Cadastra um manipulador de exceções.
exception_handler | O novo manipulador de exceções. |
void tecgraf::ftc::v1_04_01::BaseServer::on_connection_stop | ( | Connection_ptr | conn | ) |
Notificação recebida quando uma conexão é terminada.
conn | A conexão. |
virtual void tecgraf::ftc::v1_04_01::BaseServer::stop | ( | ) | [virtual] |
Sinaliza para o servidor interromper.
Este método irá sinalizar o servidor para ser interrompido.
bool tecgraf::ftc::v1_04_01::BaseServer::stopped | ( | ) | const |
Informa se o servidor está parado.
true
se o servidor está parado. void tecgraf::ftc::v1_04_01::BaseServer::timed_wait_ready | ( | uint32_t | timeout_ms | ) |
Aguarda a inicialização do servidor até que o mesmo comece a aceitar conexões passando um tempo máximo para esperar.
Este método é útil, por exemplo, se o servidor é inicializado num thread à parte, e por vezes é necessário saber quando o mesmo está pronto para receber conexões.
timeout_ms | Tempo máximo em milisegundos para aguardar a inicialização do servidor até que o mesmo comece a aceitar conexões. |
void tecgraf::ftc::v1_04_01::BaseServer::wait_ready | ( | ) |
Aguarda a inicialização do servidor até que o mesmo comece a aceitar conexões.
Este método é útil, por exemplo, se o servidor é inicializado num thread à parte, e por vezes é necessário saber quando o mesmo está pronto para receber conexões.