#include <IDataChannel.h>
Diagrama de Hierarquia para tecgraf::ftc::v1_04_01::IDataChannel:
Métodos Públicos | |
virtual | ~IDataChannel () |
Destrutor. | |
virtual uint16_t | supportedOperations () const =0 |
Retorna os métodos/operações suportados pela implementação do canal de dados. Todas as implementações devem definir as operações suportadas. | |
virtual bool | isOpen () const =0 |
Informa se o canal está aberto ou não. | |
virtual int64_t | remaining () const =0 |
Retorna a quantidade de bytes no canal a partir da posição atual e o limite. | |
virtual uint64_t | skip (const uint64_t count)=0 |
Metodo que pula/ignora uma quantidade de bytes a partir da posicao atual. | |
virtual uint64_t | size () const =0 |
Obtém a quantidade de bytes no canal a partir da posição inicial. | |
virtual void | size (const uint64_t size)=0 |
Define a quantidade de bytes para o canal. | |
virtual uint64_t | position () const =0 |
Obtém a posição atual do canal. | |
virtual void | position (const uint64_t position)=0 |
Define a nova posição do arquivo. | |
virtual int64_t | read (Buffer &dest)=0 |
Lê uma sequência de bytes do arquivo. | |
virtual int64_t | read (Buffer &dest, const uint64_t remotePosition)=0 |
Lê uma sequência de bytes do arquivo. | |
virtual int64_t | write (Buffer &source)=0 |
Escreve uma sequência de bytes no arquivo. | |
virtual int64_t | write (Buffer &source, const uint64_t remotePosition)=0 |
Escreve uma sequência de bytes no arquivo. | |
virtual int64_t | transferTo (const uint64_t remotePosition, const uint64_t nbytes, IDataChannel &dest)=0 |
Transfere os dados do arquivo para um fluxo de saída. | |
virtual int64_t | transferFrom (IDataChannel &source, const uint64_t remotePosition, const uint64_t nbytes)=0 |
Transfere os dados de um fluxo de entrada para o arquivo. |
Dessa classe podem ser implementados especializações de um canal de dados para um servidor FTC trabalhar com arquivos, streaming, sockets etc.
virtual bool tecgraf::ftc::v1_04_01::IDataChannel::isOpen | ( | ) | const [pure virtual] |
Informa se o canal está aberto ou não.
Implementação obrigatoria.
true
se, e somente se, o canal está aberto. Implementado por tecgraf::ftc::v1_04_01::FileChannel e tecgraf::ftc::v1_04_01::RemoteDataChannel.
virtual void tecgraf::ftc::v1_04_01::IDataChannel::position | ( | const uint64_t | position | ) | [pure 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.
position | A nova posição |
UnsupportedOperationException | Caso a operação não seja suportada nesse canal. |
Implementado por tecgraf::ftc::v1_04_01::FileChannel e tecgraf::ftc::v1_04_01::RemoteDataChannel.
virtual uint64_t tecgraf::ftc::v1_04_01::IDataChannel::position | ( | ) | const [pure 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.
UnsupportedOperationException | Caso a operação não seja suportada nesse canal. |
Implementado por tecgraf::ftc::v1_04_01::FileChannel e tecgraf::ftc::v1_04_01::RemoteDataChannel.
virtual int64_t tecgraf::ftc::v1_04_01::IDataChannel::read | ( | Buffer & | dest, | |
const uint64_t | remotePosition | |||
) | [pure 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.
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. |
UnsupportedOperationException | Caso a operação não seja suportada nesse canal. |
Implementado por tecgraf::ftc::v1_04_01::FileChannel e tecgraf::ftc::v1_04_01::RemoteDataChannel.
virtual int64_t tecgraf::ftc::v1_04_01::IDataChannel::read | ( | Buffer & | dest | ) | [pure 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.
dest | O buffer de destino dos bytes a serem lidos do canal |
UnsupportedOperationException | Caso a operação não seja suportada nesse canal. |
Implementado por tecgraf::ftc::v1_04_01::FileChannel e tecgraf::ftc::v1_04_01::RemoteDataChannel.
virtual int64_t tecgraf::ftc::v1_04_01::IDataChannel::remaining | ( | ) | const [pure 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.
Implementado por tecgraf::ftc::v1_04_01::FileChannel e tecgraf::ftc::v1_04_01::RemoteDataChannel.
virtual void tecgraf::ftc::v1_04_01::IDataChannel::size | ( | const uint64_t | size | ) | [pure 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.
size | O novo tamanho |
UnsupportedOperationException | Caso a operação não seja suportada nesse canal. |
Implementado por tecgraf::ftc::v1_04_01::FileChannel e tecgraf::ftc::v1_04_01::RemoteDataChannel.
virtual uint64_t tecgraf::ftc::v1_04_01::IDataChannel::size | ( | ) | const [pure 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.
UnsupportedOperationException | Caso a operação não seja suportada nesse canal. |
Implementado por tecgraf::ftc::v1_04_01::FileChannel e tecgraf::ftc::v1_04_01::RemoteDataChannel.
virtual uint64_t tecgraf::ftc::v1_04_01::IDataChannel::skip | ( | const uint64_t | count | ) | [pure virtual] |
Metodo que pula/ignora uma quantidade de bytes a partir da posicao atual.
Implementação obrigatoria.
count | quantidade de bytes a serem pulados. |
Implementado por tecgraf::ftc::v1_04_01::FileChannel e tecgraf::ftc::v1_04_01::RemoteDataChannel.
virtual uint16_t tecgraf::ftc::v1_04_01::IDataChannel::supportedOperations | ( | ) | const [pure 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.
Implementado por tecgraf::ftc::v1_04_01::FileChannel e tecgraf::ftc::v1_04_01::RemoteDataChannel.
virtual int64_t tecgraf::ftc::v1_04_01::IDataChannel::transferFrom | ( | IDataChannel & | source, | |
const uint64_t | remotePosition, | |||
const uint64_t | nbytes | |||
) | [pure 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.
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 |
UnsupportedOperationException | Caso a operação não seja suportada nesse canal. |
Implementado por tecgraf::ftc::v1_04_01::FileChannel e tecgraf::ftc::v1_04_01::RemoteDataChannel.
virtual int64_t tecgraf::ftc::v1_04_01::IDataChannel::transferTo | ( | const uint64_t | remotePosition, | |
const uint64_t | nbytes, | |||
IDataChannel & | dest | |||
) | [pure 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.
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. |
UnsupportedOperationException | Caso a operação não seja suportada nesse canal. |
Implementado por tecgraf::ftc::v1_04_01::FileChannel e tecgraf::ftc::v1_04_01::RemoteDataChannel.
virtual int64_t tecgraf::ftc::v1_04_01::IDataChannel::write | ( | Buffer & | source, | |
const uint64_t | remotePosition | |||
) | [pure 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.
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. |
UnsupportedOperationException | Caso a operação não seja suportada nesse canal. |
Implementado por tecgraf::ftc::v1_04_01::FileChannel e tecgraf::ftc::v1_04_01::RemoteDataChannel.
virtual int64_t tecgraf::ftc::v1_04_01::IDataChannel::write | ( | Buffer & | source | ) | [pure 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.
source | O buffer de origem dos bytes a serem escritos no canal |
UnsupportedOperationException | Caso a operação não seja suportada nesse canal. |
Implementado por tecgraf::ftc::v1_04_01::FileChannel e tecgraf::ftc::v1_04_01::RemoteDataChannel.