Referência da Estrutura tecgraf::ftc::v1_04_01::RemoteDataChannel

Classe que representa a API de acesso a um canal de dados remoto. Mais...

#include <RemoteDataChannel.h>

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

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

Métodos Públicos

FTC_DECL RemoteDataChannel (const bool writable, const std::string &hostname, uint16_t port, const std::vector< uint8_t > &access_key)
 Construtor.
virtual FTC_DECL ~RemoteDataChannel ()
 Destrutor.
virtual FTC_DECL void open ()
 Abre o canal de dados remoto.
virtual FTC_DECL void close ()
 Fecha o canal de dados remoto.
virtual FTC_DECL uint16_t supportedOperations () const
virtual FTC_DECL bool isOpen () const
virtual FTC_DECL int64_t remaining () const
virtual FTC_DECL uint64_t skip (const uint64_t count)
virtual FTC_DECL uint64_t position () const
virtual FTC_DECL void position (const uint64_t position)
virtual FTC_DECL uint64_t size () const
virtual FTC_DECL void size (const uint64_t size)
virtual FTC_DECL int64_t read (Buffer &dest)
virtual FTC_DECL int64_t read (Buffer &dest, const uint64_t remotePosition)
virtual FTC_DECL int64_t read (char *dest, const std::size_t nbytes)
 Lê uma quantidade de bytes do canal remoto.
virtual FTC_DECL int64_t read (char *dest, const std::size_t nbytes, const uint64_t remotePosition)
 Lê uma quantidade de bytes a partir de uma dada posição no canal remoto.
virtual FTC_DECL int64_t read (char *dest, const std::size_t offset, const std::size_t nbytes, const uint64_t remotePosition)
 Lê uma quantidade de bytes a partir de uma dada posição no canal remoto.
virtual FTC_DECL int64_t write (Buffer &source)
virtual FTC_DECL int64_t write (Buffer &source, const uint64_t remotePosition)
virtual FTC_DECL int64_t write (const char *source, const uint64_t nbytes)
 Escreve uma quantidade de bytes do canal remoto.
virtual FTC_DECL int64_t write (const char *source, const uint64_t nbytes, const uint64_t remotePosition)
 Escreve uma quantidade de bytes a partir de uma posição no canal remoto.
virtual FTC_DECL int64_t write (const char *source, const std::size_t offset, const uint64_t nbytes, const uint64_t remotePosition)
 Escreve uma quantidade de bytes a partir de uma posição no canal remoto.
virtual FTC_DECL int64_t transferTo (const uint64_t remotePosition, const uint64_t nbytes, IDataChannel &dest)
virtual FTC_DECL int64_t transferFrom (IDataChannel &source, const uint64_t remotePosition, const uint64_t nbytes)
virtual FTC_DECL int64_t transferTo (const uint64_t remotePosition, const uint64_t nbytes, FILE &fd)
 Transfere os dados do canal de dados remoto diretamente para um arquivo local.
FTC_DECL void keepAlive ()
 Notifica o servidor sobre o interesse de manter a conexão ativa.
FTC_DECL std::size_t bufferSize () const
 Tamanho do buffer em bytes utilizado nas operações.
FTC_DECL void bufferSize (std::size_t value)
 Define o tamanho em bytes do buffer utilizado nas operações.

Descrição Detalhada

Classe que representa a API de acesso a um canal de dados remoto.

Esta classe representa o cliente FTC. Tendo o endereço/porta e chave de acesso previamente conhecido, é possível se conectar com o servidor FTC abrindo o canal de dados e, assim então, executar operações sobre o canal de dados.

A obtenção das informações para conexão com o servidor FTC não faz parte do escopo do FTC. Logo, deve existir uma maneira para que essa informação seja transmitida do servidor FTC para o cliente FTC.


Construtores & Destrutores

FTC_DECL tecgraf::ftc::v1_04_01::RemoteDataChannel::RemoteDataChannel ( const bool  writable,
const std::string &  hostname,
uint16_t  port,
const std::vector< uint8_t > &  access_key 
)

Construtor.

Obs: A conexão com o servidor só é estabelecida no método open.

Parâmetros:
writable Indica se o canal de dados deve ser aberto para leitura.
hostname Endereço do servidor (hostname ou endereco IP válido).
port Porta TCP do servidor (1-65535).
access_key Chave de acesso ao canal de dados (Tamanho maximo: AccessKey::MAX_SIZE).
Exceções:
std::invalid_argument Caso algum argumento esteja inválido


Métodos

FTC_DECL void tecgraf::ftc::v1_04_01::RemoteDataChannel::bufferSize ( std::size_t  value  ) 

Define o tamanho em bytes do buffer utilizado nas operações.

Parâmetros:
value O tamanho do buffer em bytes.

FTC_DECL std::size_t tecgraf::ftc::v1_04_01::RemoteDataChannel::bufferSize (  )  const

Tamanho do buffer em bytes utilizado nas operações.

Retorna:
O tamanho do buffer em bytes.

virtual FTC_DECL void tecgraf::ftc::v1_04_01::RemoteDataChannel::close (  )  [virtual]

Fecha o canal de dados remoto.

Informa ao servidor FTC que o arquivo deve ser fechado e em seguida fecha a conexão TCP.

Exceções:
FailureException Caso ocorra uma falha na comunicação ponto a ponto.
IllegalStateException Caso o canal não esteja aberto.

virtual FTC_DECL bool tecgraf::ftc::v1_04_01::RemoteDataChannel::isOpen (  )  const [virtual]

Informa se o canal está aberto ou não.

Implementação obrigatoria.

Retorna:
true se, e somente se, o canal está aberto.

Implementa tecgraf::ftc::v1_04_01::IDataChannel.

FTC_DECL void tecgraf::ftc::v1_04_01::RemoteDataChannel::keepAlive (  ) 

Notifica o servidor sobre o interesse de manter a conexão ativa.

Envia uma pequena mensagem para o servidor com o intuito de manter a conexão ativa.

virtual FTC_DECL void tecgraf::ftc::v1_04_01::RemoteDataChannel::open (  )  [virtual]

Abre o canal de dados remoto.

Estabelece uma conexão TCP com o servidor FTC e requisita a abertura do canal de dados.

Exceções:
FailureException Caso já esteja aberto, falha na conexão/comunicação ponto a ponto, falha na autenticação, falha na negociação ou falha ao abrir canal de dados
InvalidKeyException Caso a chave passada não seja reconhecida
InvalidProtocolVersionException Versão não reconhecida ou não suportada pelo servidor
MaxClientsReachedException O servidor se encontra com o número máximo de conexões suportadas preenchidas
FileNotFoundException Arquivo solicidado não encontrado/sem view
NoPermissionException Sem permissão para abrir o canal de dados remoto
IllegalStateException Caso sejam lidos dados não esperados

virtual FTC_DECL void tecgraf::ftc::v1_04_01::RemoteDataChannel::position ( const uint64_t  position  )  [virtual]

Define a nova posição do arquivo.

Implementação opcional. No caso da operação não ser suportada deve ser lançada UnsupportedOperationException.

Parâmetros:
position A nova posição
Exceções:
UnsupportedOperationException Caso a operação não seja suportada nesse canal.

Exceções:
UnsupportedOperationException Operação não é suportada pelo canal remoto.
FailureException Caso ocorra uma falha na comunicação ponto a ponto.
IllegalStateException Caso o canal não esteja aberto.

Implementa tecgraf::ftc::v1_04_01::IDataChannel.

virtual FTC_DECL uint64_t tecgraf::ftc::v1_04_01::RemoteDataChannel::position (  )  const [virtual]

Obtém a posição atual do canal.

Implementação opcional. No caso da operação não ser suportada deve ser lançada UnsupportedOperationException.

Retorna:
A posição atual do arquivo.
Exceções:
UnsupportedOperationException Caso a operação não seja suportada nesse canal.

Exceções:
UnsupportedOperationException Operação não é suportada pelo canal remoto.
FailureException Caso ocorra uma falha na comunicação ponto a ponto.
IllegalStateException Caso o canal não esteja aberto.

Implementa tecgraf::ftc::v1_04_01::IDataChannel.

virtual FTC_DECL int64_t tecgraf::ftc::v1_04_01::RemoteDataChannel::read ( char *  dest,
const std::size_t  offset,
const std::size_t  nbytes,
const uint64_t  remotePosition 
) [virtual]

Lê uma quantidade de bytes a partir de uma dada posição no canal remoto.

Parâmetros:
dest Ponteiro para o espaço onde os bytes lidos serão escritos.
offset Posição em dest que começara a ser transferido os dados do canal remoto.
nbytes Quantidades de bytes a serem lidos.
remotePosition A posição deste canal remoto a partir da qual a leitura vai ser iniciada.
Retorna:
Retorna o numero de bytes lidos.

virtual FTC_DECL int64_t tecgraf::ftc::v1_04_01::RemoteDataChannel::read ( char *  dest,
const std::size_t  nbytes,
const uint64_t  remotePosition 
) [virtual]

Lê uma quantidade de bytes a partir de uma dada posição no canal remoto.

Parâmetros:
dest Ponteiro para o espaço onde os bytes lidos serão escritos.
nbytes Quantidades de bytes a serem lidos.
remotePosition A posição deste canal remoto a partir da qual a leitura vai ser iniciada.
Retorna:
Retorna o numero de bytes lidos.

virtual FTC_DECL int64_t tecgraf::ftc::v1_04_01::RemoteDataChannel::read ( char *  dest,
const std::size_t  nbytes 
) [virtual]

Lê uma quantidade de bytes do canal remoto.

Parâmetros:
dest Ponteiro para o espaço onde os bytes lidos serão escritos.
nbytes Quantidades de bytes a serem lidos.
Retorna:
Retorna o numero de bytes lidos.

virtual FTC_DECL int64_t tecgraf::ftc::v1_04_01::RemoteDataChannel::read ( Buffer dest,
const uint64_t  remotePosition 
) [virtual]

Lê uma sequência de bytes do arquivo.

Implementação opcional. No caso da operação não ser suportada deve ser lançada UnsupportedOperationException.

Parâmetros:
dest O buffer de destino dos bytes a serem lidos do canal
remotePosition A posição deste canal partir da qual a leitura vai ser iniciada.
Retorna:
A quantidade de bytes lidos.
Exceções:
UnsupportedOperationException Caso a operação não seja suportada nesse canal.

Implementa tecgraf::ftc::v1_04_01::IDataChannel.

virtual FTC_DECL int64_t tecgraf::ftc::v1_04_01::RemoteDataChannel::read ( Buffer dest  )  [virtual]

Lê uma sequência de bytes do arquivo.

Implementação opcional. No caso da operação não ser suportada deve ser lançada UnsupportedOperationException.

Parâmetros:
dest O buffer de destino dos bytes a serem lidos do canal
Retorna:
A quantidade de bytes lidos, ou -1, caso chegue ao final do arquivo.
Exceções:
UnsupportedOperationException Caso a operação não seja suportada nesse canal.

Implementa tecgraf::ftc::v1_04_01::IDataChannel.

virtual FTC_DECL int64_t tecgraf::ftc::v1_04_01::RemoteDataChannel::remaining (  )  const [virtual]

Retorna a quantidade de bytes no canal a partir da posição atual e o limite.

O valor -1 significa end-of-stream.

O valor 0 significa que atualmente não há dados, mas pode vir a ter. Utilizado em live-streams

Implementação obrigatoria.

Retorna:
A quantidade de bytes existentes no canal.

Implementa tecgraf::ftc::v1_04_01::IDataChannel.

virtual FTC_DECL void tecgraf::ftc::v1_04_01::RemoteDataChannel::size ( const uint64_t  size  )  [virtual]

Define a quantidade de bytes para o canal.

Implementação opcional. No caso da operação não ser suportada deve ser lançada UnsupportedOperationException.

Parâmetros:
size O novo tamanho
Exceções:
UnsupportedOperationException Caso a operação não seja suportada nesse canal.

Exceções:
UnsupportedOperationException Operação não é suportada pelo canal remoto.
NoPermissionException Arquivo remoto foi aberto somente para leitura.
ReadOnlyException Canal remoto foi aberto somente para leitura.
FailureException Caso ocorra uma falha na comunicação ponto a ponto.
IllegalStateException Caso o canal não esteja aberto.

Implementa tecgraf::ftc::v1_04_01::IDataChannel.

virtual FTC_DECL uint64_t tecgraf::ftc::v1_04_01::RemoteDataChannel::size (  )  const [virtual]

Obtém a quantidade de bytes no canal a partir da posição inicial.

Implementação opcional. No caso da operação não ser suportada deve ser lançada UnsupportedOperationException.

Retorna:
O tamanho em bytes.
Exceções:
UnsupportedOperationException Caso a operação não seja suportada nesse canal.

Exceções:
UnsupportedOperationException Operação não é suportada pelo canal remoto.
FailureException Caso ocorra uma falha na comunicação ponto a ponto.
IllegalStateException Caso o canal não esteja aberto.

Implementa tecgraf::ftc::v1_04_01::IDataChannel.

virtual FTC_DECL uint64_t tecgraf::ftc::v1_04_01::RemoteDataChannel::skip ( const uint64_t  count  )  [virtual]

Metodo que pula/ignora uma quantidade de bytes a partir da posicao atual.

Implementação obrigatoria.

Parâmetros:
count quantidade de bytes a serem pulados.
Retorna:
Quantidade de bytes pulados

Implementa tecgraf::ftc::v1_04_01::IDataChannel.

virtual FTC_DECL uint16_t tecgraf::ftc::v1_04_01::RemoteDataChannel::supportedOperations (  )  const [virtual]

Retorna os métodos/operações suportados pela implementação do canal de dados. Todas as implementações devem definir as operações suportadas.

Implementação obrigatoria.

Veja também:
Operations::Operation
Retorna:
As operações suportadas (Flags de Operations::Operation)

Implementa tecgraf::ftc::v1_04_01::IDataChannel.

virtual FTC_DECL int64_t tecgraf::ftc::v1_04_01::RemoteDataChannel::transferFrom ( IDataChannel source,
const uint64_t  remotePosition,
const uint64_t  nbytes 
) [virtual]

Transfere os dados de um fluxo de entrada para o arquivo.

Implementação opcional. No caso da operação não ser suportada deve ser lançada UnsupportedOperationException.

Parâmetros:
source O fluxo de entrada.
remotePosition A posição inicial a partir da qual este canal será escrito.
nbytes A quantidade de bytes para serem transferidos
Retorna:
A quantidade de bytes efetivamente transferidos
Exceções:
UnsupportedOperationException Caso a operação não seja suportada nesse canal.

Implementa tecgraf::ftc::v1_04_01::IDataChannel.

virtual FTC_DECL int64_t tecgraf::ftc::v1_04_01::RemoteDataChannel::transferTo ( const uint64_t  remotePosition,
const uint64_t  nbytes,
FILE &  fd 
) [virtual]

Transfere os dados do canal de dados remoto diretamente para um arquivo local.

Parâmetros:
remotePosition A posição inicial a partir da qual este canal será lido.
nbytes Quantidade de bytes a serem transferidos.
fd Descritor do arquivo local.
Retorna:
Retorna o número de bytes escritos.

virtual FTC_DECL int64_t tecgraf::ftc::v1_04_01::RemoteDataChannel::transferTo ( const uint64_t  remotePosition,
const uint64_t  nbytes,
IDataChannel dest 
) [virtual]

Transfere os dados do arquivo para um fluxo de saída.

Implementação opcional. No caso da operação não ser suportada deve ser lançada UnsupportedOperationException.

Parâmetros:
remotePosition A posição inicial a partir da qual este canal será lido.
nbytes A quantidade de bytes para serem transferidos.
dest O fluxo de saída que receberá os dados do canal.
Retorna:
A quantidade de bytes efetivamente transferidos.
Exceções:
UnsupportedOperationException Caso a operação não seja suportada nesse canal.

Implementa tecgraf::ftc::v1_04_01::IDataChannel.

virtual FTC_DECL int64_t tecgraf::ftc::v1_04_01::RemoteDataChannel::write ( const char *  source,
const std::size_t  offset,
const uint64_t  nbytes,
const uint64_t  remotePosition 
) [virtual]

Escreve uma quantidade de bytes a partir de uma posição no canal remoto.

Parâmetros:
source Ponteiro de onde os dados serão lidos.
offset Posição inicial em source será transferido para o canal remoto.
nbytes Quantidade de bytes para serem escritos.
remotePosition A posição deste canal remoto a partir da qual a escrita vai ser iniciada.
Retorna:
Retorna a quantidade de bytes escritos.

virtual FTC_DECL int64_t tecgraf::ftc::v1_04_01::RemoteDataChannel::write ( const char *  source,
const uint64_t  nbytes,
const uint64_t  remotePosition 
) [virtual]

Escreve uma quantidade de bytes a partir de uma posição no canal remoto.

Parâmetros:
source Ponteiro de onde os dados serão lidos.
nbytes Quantidade de bytes para serem escritos.
remotePosition A posição deste canal remoto a partir da qual a escrita vai ser iniciada.
Retorna:
Retorna a quantidade de bytes escritos.

virtual FTC_DECL int64_t tecgraf::ftc::v1_04_01::RemoteDataChannel::write ( const char *  source,
const uint64_t  nbytes 
) [virtual]

Escreve uma quantidade de bytes do canal remoto.

Parâmetros:
source Ponteiro de onde os dados serão lidos.
nbytes Quantidade de bytes para serem escritos.
Retorna:
Retorna a quantidade de bytes escritos.

virtual FTC_DECL int64_t tecgraf::ftc::v1_04_01::RemoteDataChannel::write ( Buffer source,
const uint64_t  remotePosition 
) [virtual]

Escreve uma sequência de bytes no arquivo.

Implementação opcional. No caso da operação não ser suportada deve ser lançada UnsupportedOperationException.

Parâmetros:
source O buffer de origem dos bytes a serem escritos no canal
remotePosition A posição deste canal a partir da qual a escrita vai ser iniciada.
Retorna:
A quantidade de bytes escritos.
Exceções:
UnsupportedOperationException Caso a operação não seja suportada nesse canal.

Implementa tecgraf::ftc::v1_04_01::IDataChannel.

virtual FTC_DECL int64_t tecgraf::ftc::v1_04_01::RemoteDataChannel::write ( Buffer source  )  [virtual]

Escreve uma sequência de bytes no arquivo.

Implementação opcional. No caso da operação não ser suportada deve ser lançada UnsupportedOperationException.

Parâmetros:
source O buffer de origem dos bytes a serem escritos no canal
Retorna:
A quantidade de bytes escritos.
Exceções:
UnsupportedOperationException Caso a operação não seja suportada nesse canal.

Implementa tecgraf::ftc::v1_04_01::IDataChannel.


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