Referência da Classe tecgraf::ftc::v1_04_01::FTCServerConfig

Classe que implementa as configurações utilizadas no FTCServer. Mais...

#include <FTCServerConfig.h>

Diagrama de Hierarquia para tecgraf::ftc::v1_04_01::FTCServerConfig:

tecgraf::ftc::v1_04_01::ServerConfig Lista de todos os Membros.

Métodos Públicos

 FTCServerConfig ()
 Construtor.
virtual ~FTCServerConfig ()
 Destrutor.
virtual const std::string & hostname () const
 Retorna o endereço/IP para o servidor.

Retorna:
O endereço/IP para o servidor.

virtual void hostname (const std::string &value)
 Define o endereço/IP para o servidor.

Parâmetros:
value O endereço/IP para o servidor.

virtual uint16_t port () const
 Retorna a porta que o servidor irá escutar as conexões de novos clientes.

Retorna:
A porta que o servidor irá escutar as conexões de novos clientes.

virtual void port (uint16_t value)
 Define a porta que o servidor irá escutar as conexões de novos clientes.

É comum a utilização da porta 0 para conexão. A porta 0 é especial, pois obriga o servidor a utilizar uma porta que esteja disponível no sistema na hora da conexão.

Parâmetros:
value A porta que o servidor irá escutar as conexões de novos clientes. Caso seja 0, uma porta disponível será obtida.

virtual uint32_t channel_request_timeout () const
 Retorna o tempo máximo para o consumo de uma requisição (DataChannelInfo).

Após o registro de uma requisição para um canal de dados (DataChannelInfo), o cliente tem X milisegundos para se conectar ao servidor, se após esse tempo o cliente FTC não se conectar ao servidor e solicitar o canal de dados a requisição é removida.

Retorna:
Retorna o tempo máximo em milisegundos de timeout para requisição de um canal

virtual void channel_request_timeout (const uint32_t value)
 Define o timeout para o consumo de uma requisição (DataChannelInfo).

Após o registro de uma requisição para um canal de dados (DataChannelInfo), o cliente tem X milisegundos para se conectar ao servidor, se após esse tempo o cliente FTC não se conectar ao servidor e solicitar o canal de dados a requisição é removida.

Parâmetros:
value Tempo máximo em milisegundos que o servidor espera para remover uma requisição não consumida

virtual uint32_t client_timeout () const
 Retorna o tempo máximo em milisegundos que um cliente é desconectado por inatividade.

Caso um cliente conectado não efetue nenhuma operação no tempo máximo configurado, é forçado a desconexão do mesmo por timeout.

Retorna:
Tempo máximo em milisegundos que um cliente é desconectado por inatividade.

virtual void client_timeout (const uint32_t value)
 Define o tempo máximo em milisegundos que um cliente é desconectado por inatividade.

Caso um cliente conectado não efetue nenhuma operação no tempo máximo configurado, é forçado a desconexão do mesmo por timeout.

Parâmetros:
value Tempo máximo em milisegundos que um cliente é desconectado por inatividade.

virtual std::size_t max_clients () const
 Retorna o número maximo de clientes que o servidor suporta.

Caso o número de clientes conectados alcance o número máximo configurado, novos clientes que tentarem se conectar serão forçadamente desconectados.

Retorna:
O número maximo de clientes que o servidor suporta.

virtual void max_clients (std::size_t value)
 Define o número maximo de clientes que o servidor suporta.

Caso o número de clientes conectados alcance o número máximo configurado, novos clientes que tentarem se conectar serão forçadamente desconectados.

Parâmetros:
value O número maximo de clientes que o servidor suporta.

virtual std::size_t max_channel_requests () const
 Retorna o número máximo permitido de possíveis registros à requisições de canais de dados (DataChannelInfo).

Número máximo de registros à requisições de canais de dados que o servidor irá permitir.

Retorna:
Número maximo de requisições.

virtual void max_channel_requests (std::size_t value)
 Número máximo permitido de possíveis registros à requisições de canais de dados (DataChannelInfo).

Número máximo de registros à requisições de canais de dados que o servidor irá permitir.

Parâmetros:
value Número maximo de requisiçoes.

virtual std::size_t client_buffer_size () const
 Retorna o tamanho do espaço de memória utilizado na comunicação com cada cliente.

Esse espaço de memória é criado para cada nova conexão com um cliente. Sua função principal é a de armazenar a transmissão parcial de um dado cliente/servidor ou vice-versa. O mesmo é utilizado também quando o canal não suporta transferTo/transferFrom.

Retorna:
O tamanho do espaço de memória utilizado na comunicação com cada cliente.

virtual void client_buffer_size (std::size_t value)
 Define o tamanho do espaço de memória utilizado na comunicação com cada cliente.

Esse espaço de memória é criado para cada nova conexão com um cliente. Sua função principal é a de armazenar a transmissão parcial de um dado cliente/servidor ou vice-versa. O mesmo é utilizado também quando o canal não suporta transferTo/transferFrom.

Parâmetros:
value Retorna o tamanho do espaço de memória utilizado na comunicação com cada cliente.

virtual bool is_test_mode () const
 Retorna true se o servidor deve executar em modo de teste.

No modo teste, o servidor mantém todos os registros às possíveis requisições à canais de dados, mesmo que um cliente feche o canal. Permitindo assim um cliente se reconectar com a mesma chave de acesso.

Retorna:
true se o servidor deve executar em modo de teste.

virtual void is_test_mode (bool value)
 Define se o servidor deve executar em modo de teste.

No modo teste, o servidor mantém todos os registros às possíveis requisições à canais de dados, mesmo que um cliente feche o canal. Permitindo assim um cliente se reconectar com a mesma chave de acesso.

Parâmetros:
value Define se o servidor deve executar em modo de teste.

virtual ServerLogLevel log_level () const
 Retorna o nível de logging.

Retorna:
O nivel de logging.

virtual void log_level (ServerLogLevel value)
 Define o nível de logging.

Parâmetros:
value O nível de logging.

virtual const std::string & log_filename () const
 Retorna o nome do arquivo de saída que será gravado o log.

Retorna:
O nome do arquivo de saída que será gravado o log.

virtual void log_filename (const std::string &value)
 Define o nome do arquivo de saída que será gravado o log.

Parâmetros:
value O nome do arquivo de saída que será gravado o log.

virtual bool log_date_time () const
 Retorna se faz o log da data e hora.

Retorna:
Retorna se faz o log da data e hora.

virtual void log_date_time (bool value)
 Define se faz o log da data e hora.

Parâmetros:
value Informa se faz o log da data e hora.

virtual std::size_t thread_pool_size () const
 Retorna o tamanho do pool de threads utilizado no servidor.

O servidor implementa internamente um pool de threads para atender as mensagens cliente/servidor. Os threads são criados na instanciação do servidor. Por isso, deve ser levado em conta o custo para a máquina para a criação do número total configurado de threads.

Deve ser levado em conta o caso em que uma requisição seja bloqueada num thread por uma implementação de um canal de dados (IDataChannel). Se isso for verdade, e todos os threads forem bloqueados, o servidor irá parar de responder. Assim, nesse caso onde a implementação do canal de dados tem operações é bloqueantes, uma boa prática seria limitar o número de clientes ao número de threads menos 1. Dessa maneira sempre vai existir um thread no mínimo para recusar novas conexões.

Retorna:
O tamanho do pool de threads utilizado no servidor.

virtual void thread_pool_size (const std::size_t value)
 Define o tamanho do pool de threads utilizado no servidor.

O servidor implementa internamente um pool de threads para atender as mensagens cliente/servidor. Os threads são criados na instanciação do servidor. Por isso, deve ser levado em conta o custo para a máquina para a criação do número total configurado de threads.

Deve ser levado em conta o caso em que uma requisição seja bloqueada num thread por uma implementação de um canal de dados (IDataChannel). Se isso for verdade, e todos os threads forem bloqueados, o servidor irá parar de responder. Assim, nesse caso onde a implementação do canal de dados tem operações é bloqueantes, uma boa prática seria limitar o número de clientes ao número de threads menos 1. Dessa maneira sempre vai existir um thread no mínimo para recusar novas conexões.

Parâmetros:
value O tamanho do pool de threads utilizado no servidor.

virtual std::size_t chunk_size () const
 Retorna o tamanho dos pedaços em bytes utilizados para transmitir um canal de dados para o cliente.
virtual void chunk_size (std::size_t value)
 Define o tamanho dos pedaços em bytes utilizados para transmitir um canal de dados para o cliente.
virtual void print (std::ostream &out) const
 

Descrição Detalhada

Classe que implementa as configurações utilizadas no FTCServer.

Autor:
Tecgraf/PUC-Rio


Métodos

virtual void tecgraf::ftc::v1_04_01::FTCServerConfig::chunk_size ( std::size_t  value  )  [virtual]

Define o tamanho dos pedaços em bytes utilizados para transmitir um canal de dados para o cliente.

Parâmetros:
value O tamanho dos pedaços em bytes utilizados para transmitir um canal de dados para o cliente.

virtual std::size_t tecgraf::ftc::v1_04_01::FTCServerConfig::chunk_size (  )  const [virtual]

Retorna o tamanho dos pedaços em bytes utilizados para transmitir um canal de dados para o cliente.

Retorna:
O tamanho dos pedaços em bytes utilizados para transmitir um canal de dados para o cliente.


A documentação para esta classe foi gerada a partir do seguinte arquivo:
Gerado em Mon Feb 3 03:15:08 2014 para FTC[C++] por  doxygen 1.4.7