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

Implementação para criar uma canal de dados à partir de um arquivo. Mais...

#include <FileChannel.h>

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

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

Métodos Públicos

 FileChannel (const std::string &filename, bool read_only)
 Construtor.
virtual ~FileChannel ()
 Destrutor.
virtual uint16_t supportedOperations () const
 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)

virtual bool isOpen () const
 Informa se o canal está aberto ou não.

Implementação obrigatoria.

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

virtual int64_t remaining () const
 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.

virtual uint64_t skip (const uint64_t count)
 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

virtual int64_t read (Buffer &dest)
 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.

virtual int64_t read (Buffer &dest, const uint64_t remotePosition)
 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.

virtual int64_t write (Buffer &source)
 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.

virtual int64_t write (Buffer &source, const uint64_t remotePosition)
 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.

virtual uint64_t size () const
 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.

virtual void size (const uint64_t size)
 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.

virtual uint64_t position () const
 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.

virtual void position (const uint64_t position)
 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.

virtual int64_t transferTo (const uint64_t remotePosition, const uint64_t nbytes, IDataChannel &dest)
 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.

virtual int64_t transferFrom (IDataChannel &source, const uint64_t remotePosition, const uint64_t nbytes)
 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.


Descrição Detalhada

Implementação para criar uma canal de dados à partir de um arquivo.

Autor:
Tecgraf/PUC-Rio


Construtores & Destrutores

tecgraf::ftc::v1_04_01::FileChannel::FileChannel ( const std::string &  filename,
bool  read_only 
)

Construtor.

Parâmetros:
filename Nome do arquivo para ser criado/aberto
read_only Indica se abre como somente leitura


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