casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
casacore::StreamIO Class Reference

Class for IO on connection oriented socket. More...

#include <StreamIO.h>

Inheritance diagram for casacore::StreamIO:
casacore::ByteIO

Public Member Functions

 StreamIO (const String &hostname, uShort portNumber)
 Construct a stream that is attached to the specified host on the specified portnumber. More...
 
virtual ~StreamIO ()
 The destructor closes the file. More...
 
virtual void write (Int64 size, const void *buf)
 Write the specified number of bytes. More...
 
virtual Int64 read (Int64 size, void *buf, Bool throwException=True)
 Read size bytes from the tape. More...
 
virtual Int64 length ()
 Get the length of the stream. More...
 
virtual Bool isReadable () const
 Is the stream readable? This function always returns True. More...
 
virtual Bool isWritable () const
 Is the stream writable? This function always returns True. More...
 
virtual Bool isSeekable () const
 Is the stream seekable? This function always returns False. More...
 
- Public Member Functions inherited from casacore::ByteIO
 ByteIO ()
 The constructor does nothing. More...
 
virtual ~ByteIO ()
 
virtual void pwrite (Int64 size, Int64 offset, const void *buf)
 Write size bytes to the byte stream at offset. More...
 
virtual Int64 pread (Int64 size, Int64 offset, void *buf, Bool throwException=True)
 Like read but reads from offset of start of the file The file offset is not changed. More...
 
virtual void reopenRW ()
 Reopen the underlying IO stream for read/write access. More...
 
Int64 seek (Int offset, ByteIO::SeekOption=ByteIO::Begin)
 This function sets the position on the given offset. More...
 
Int64 seek (Int64 offset, ByteIO::SeekOption=ByteIO::Begin)
 
virtual void flush ()
 Flush the data to the file. More...
 
virtual void fsync ()
 Fsync the file (i.e. More...
 
virtual void resync ()
 Resync the file (i.e. More...
 
virtual String fileName () const
 Get the file name of the file attached. More...
 

Protected Member Functions

virtual Int64 doSeek (Int64 offset, ByteIO::SeekOption)
 Reset the position pointer to the given value. More...
 
- Protected Member Functions inherited from casacore::ByteIO
 ByteIO (const ByteIO &byteIO)
 Make copy constructor and assignment protected, so a user cannot use them (but a derived class can). More...
 
ByteIOoperator= (const ByteIO &byteIO)
 

Private Member Functions

 StreamIO (const StreamIO &other)
 The following functions are made private so that the compiler does not generate default ones. More...
 
StreamIOoperator= (const StreamIO &other)
 

Private Attributes

int itsSockDesc
 

Additional Inherited Members

- Public Types inherited from casacore::ByteIO
enum  OpenOption {
  Old,
  Update,
  Append,
  New,
  NewNoReplace,
  Scratch,
  Delete
}
 Define the possible ByteIO open options. More...
 
enum  SeekOption {
  Begin,
  Current,
  End
}
 Define the possible seek options. More...
 

Detailed Description

Class for IO on connection oriented socket.

Intended use:

Public interface

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Synopsis

This class is a specialization of class ByteIO. It uses a file descriptor to read/write data to a Internet (AF_INET) stream.

Example

Motivation

This class was needed for the online version of the VLA filler.

Definition at line 65 of file StreamIO.h.

Constructor & Destructor Documentation

casacore::StreamIO::StreamIO ( const String hostname,
uShort  portNumber 
)

Construct a stream that is attached to the specified host on the specified portnumber.

Name lookup is not currently done so that the dotted quad notation must be used.

virtual casacore::StreamIO::~StreamIO ( )
virtual

The destructor closes the file.

casacore::StreamIO::StreamIO ( const StreamIO other)
private

The following functions are made private so that the compiler does not generate default ones.

They cannot be used and are not defined.

Member Function Documentation

virtual Int64 casacore::StreamIO::doSeek ( Int64  offset,
ByteIO::SeekOption   
)
protectedvirtual

Reset the position pointer to the given value.

It returns the new position. As stream devices are not seekable calling this function will always throw an AipsError exception.

Implements casacore::ByteIO.

virtual Bool casacore::StreamIO::isReadable ( ) const
virtual

Is the stream readable? This function always returns True.

Implements casacore::ByteIO.

virtual Bool casacore::StreamIO::isSeekable ( ) const
virtual

Is the stream seekable? This function always returns False.

Implements casacore::ByteIO.

virtual Bool casacore::StreamIO::isWritable ( ) const
virtual

Is the stream writable? This function always returns True.

Implements casacore::ByteIO.

virtual Int64 casacore::StreamIO::length ( )
virtual

Get the length of the stream.

Not a meaningful function for this class and this function always returns -1.

Implements casacore::ByteIO.

StreamIO& casacore::StreamIO::operator= ( const StreamIO other)
private
virtual Int64 casacore::StreamIO::read ( Int64  size,
void *  buf,
Bool  throwException = True 
)
virtual

Read size bytes from the tape.

Returns the number of bytes actually read or a negative number if an error occured. Will throw an exception (AipsError) if the requested number of bytes could not be read, or an error occured, unless throwException is set to False.

Implements casacore::ByteIO.

virtual void casacore::StreamIO::write ( Int64  size,
const void *  buf 
)
virtual

Write the specified number of bytes.

Implements casacore::ByteIO.

Member Data Documentation

int casacore::StreamIO::itsSockDesc
private

Definition at line 110 of file StreamIO.h.


The documentation for this class was generated from the following file: