oasys::IOClient Class Reference

#include <IOClient.h>

Inheritance diagram for oasys::IOClient:

oasys::IOHandlerBase oasys::BluetoothClient oasys::FdIOClient oasys::IPClient oasys::RFCOMMClient oasys::FileIOClient oasys::TCPClient oasys::UDPClient dtn::APIClient oasys::SMTPClient dtn::UDPConvergenceLayer::Receiver

List of all members.


Detailed Description

Abstract interface for any stream type output channel.

Definition at line 31 of file IOClient.h.


Public Member Functions

virtual ~IOClient ()
virtual int get_nonblocking (bool *nonblockingp)=0
 Set the file descriptor's nonblocking status.
virtual int set_nonblocking (bool nonblocking)=0
virtual int read (char *bp, size_t len)=0
 System call wrappers.
virtual int write (const char *bp, size_t len)=0
 System call wrappers.
virtual int readv (const struct iovec *iov, int iovcnt)=0
 System call wrappers.
virtual int writev (const struct iovec *iov, int iovcnt)=0
 System call wrappers.
virtual int readall (char *bp, size_t len)=0
 Read/write out the entire supplied buffer, potentially requiring multiple system calls.
virtual int writeall (const char *bp, size_t len)=0
 Read/write out the entire supplied buffer, potentially requiring multiple system calls.
virtual int readvall (const struct iovec *iov, int iovcnt)=0
 Read/write out the entire supplied buffer, potentially requiring multiple system calls.
virtual int writevall (const struct iovec *iov, int iovcnt)=0
 Read/write out the entire supplied buffer, potentially requiring multiple system calls.
virtual int timeout_read (char *bp, size_t len, int timeout_ms)=0
virtual int timeout_readv (const struct iovec *iov, int iovcnt, int timeout_ms)=0
virtual int timeout_readall (char *bp, size_t len, int timeout_ms)=0
virtual int timeout_readvall (const struct iovec *iov, int iovcnt, int timeout_ms)=0
virtual int timeout_write (const char *bp, size_t len, int timeout_ms)=0
virtual int timeout_writev (const struct iovec *iov, int iovcnt, int timeout_ms)=0
virtual int timeout_writeall (const char *bp, size_t len, int timeout_ms)=0
virtual int timeout_writevall (const struct iovec *iov, int iovcnt, int timeout_ms)=0

Constructor & Destructor Documentation

virtual oasys::IOClient::~IOClient (  )  [inline, virtual]

Definition at line 33 of file IOClient.h.


Member Function Documentation

virtual int oasys::IOClient::read ( char *  bp,
size_t  len 
) [pure virtual]

System call wrappers.

Implemented in oasys::BluetoothClient, oasys::FdIOClient, and oasys::IPClient.

Referenced by oasys::BufferedInput::internal_read().

virtual int oasys::IOClient::write ( const char *  bp,
size_t  len 
) [pure virtual]

System call wrappers.

Implemented in oasys::BluetoothClient, oasys::FdIOClient, and oasys::IPClient.

Referenced by oasys::BufferedOutput::flush().

virtual int oasys::IOClient::readv ( const struct iovec *  iov,
int  iovcnt 
) [pure virtual]

System call wrappers.

Implemented in oasys::BluetoothClient, oasys::FdIOClient, and oasys::IPClient.

virtual int oasys::IOClient::writev ( const struct iovec *  iov,
int  iovcnt 
) [pure virtual]

System call wrappers.

Implemented in oasys::BluetoothClient, oasys::FdIOClient, and oasys::IPClient.

virtual int oasys::IOClient::readall ( char *  bp,
size_t  len 
) [pure virtual]

Read/write out the entire supplied buffer, potentially requiring multiple system calls.

Returns:
the total number of bytes read/written, or -1 on error

Implemented in oasys::BluetoothClient, oasys::FdIOClient, and oasys::IPClient.

Referenced by oasys::StreamOps::Write::op(), and oasys::StreamOps::Read::op().

virtual int oasys::IOClient::writeall ( const char *  bp,
size_t  len 
) [pure virtual]

Read/write out the entire supplied buffer, potentially requiring multiple system calls.

Returns:
the total number of bytes read/written, or -1 on error

Implemented in oasys::BluetoothClient, oasys::FdIOClient, and oasys::IPClient.

virtual int oasys::IOClient::readvall ( const struct iovec *  iov,
int  iovcnt 
) [pure virtual]

Read/write out the entire supplied buffer, potentially requiring multiple system calls.

Returns:
the total number of bytes read/written, or -1 on error

Implemented in oasys::BluetoothClient, oasys::FdIOClient, and oasys::IPClient.

virtual int oasys::IOClient::writevall ( const struct iovec *  iov,
int  iovcnt 
) [pure virtual]

Read/write out the entire supplied buffer, potentially requiring multiple system calls.

Returns:
the total number of bytes read/written, or -1 on error

Implemented in oasys::BluetoothClient, oasys::FdIOClient, and oasys::IPClient.

virtual int oasys::IOClient::timeout_read ( char *  bp,
size_t  len,
int  timeout_ms 
) [pure virtual]

Try to read/write the specified number of bytes, but don't block for more than timeout milliseconds.

Returns:
the number of bytes read/written or the appropriate IOTimeoutReturn_t code

Implemented in oasys::BluetoothClient, oasys::FdIOClient, and oasys::IPClient.

Referenced by oasys::BufferedInput::internal_read().

virtual int oasys::IOClient::timeout_readv ( const struct iovec *  iov,
int  iovcnt,
int  timeout_ms 
) [pure virtual]

Try to read/write the specified number of bytes, but don't block for more than timeout milliseconds.

Returns:
the number of bytes read/written or the appropriate IOTimeoutReturn_t code

Implemented in oasys::BluetoothClient, oasys::FdIOClient, and oasys::IPClient.

virtual int oasys::IOClient::timeout_readall ( char *  bp,
size_t  len,
int  timeout_ms 
) [pure virtual]

Try to read/write the specified number of bytes, but don't block for more than timeout milliseconds.

Returns:
the number of bytes read/written or the appropriate IOTimeoutReturn_t code

Implemented in oasys::BluetoothClient, oasys::FdIOClient, and oasys::IPClient.

virtual int oasys::IOClient::timeout_readvall ( const struct iovec *  iov,
int  iovcnt,
int  timeout_ms 
) [pure virtual]

Try to read/write the specified number of bytes, but don't block for more than timeout milliseconds.

Returns:
the number of bytes read/written or the appropriate IOTimeoutReturn_t code

Implemented in oasys::BluetoothClient, oasys::FdIOClient, and oasys::IPClient.

virtual int oasys::IOClient::timeout_write ( const char *  bp,
size_t  len,
int  timeout_ms 
) [pure virtual]

Try to read/write the specified number of bytes, but don't block for more than timeout milliseconds.

Returns:
the number of bytes read/written or the appropriate IOTimeoutReturn_t code

Implemented in oasys::BluetoothClient, oasys::FdIOClient, and oasys::IPClient.

virtual int oasys::IOClient::timeout_writev ( const struct iovec *  iov,
int  iovcnt,
int  timeout_ms 
) [pure virtual]

Try to read/write the specified number of bytes, but don't block for more than timeout milliseconds.

Returns:
the number of bytes read/written or the appropriate IOTimeoutReturn_t code

Implemented in oasys::BluetoothClient, oasys::FdIOClient, and oasys::IPClient.

virtual int oasys::IOClient::timeout_writeall ( const char *  bp,
size_t  len,
int  timeout_ms 
) [pure virtual]

Try to read/write the specified number of bytes, but don't block for more than timeout milliseconds.

Returns:
the number of bytes read/written or the appropriate IOTimeoutReturn_t code

Implemented in oasys::BluetoothClient, oasys::FdIOClient, and oasys::IPClient.

virtual int oasys::IOClient::timeout_writevall ( const struct iovec *  iov,
int  iovcnt,
int  timeout_ms 
) [pure virtual]

Try to read/write the specified number of bytes, but don't block for more than timeout milliseconds.

Returns:
the number of bytes read/written or the appropriate IOTimeoutReturn_t code

Implemented in oasys::BluetoothClient, oasys::FdIOClient, and oasys::IPClient.

virtual int oasys::IOClient::get_nonblocking ( bool nonblockingp  )  [pure virtual]

Set the file descriptor's nonblocking status.

Implemented in oasys::BluetoothClient, oasys::FdIOClient, and oasys::IPClient.

virtual int oasys::IOClient::set_nonblocking ( bool  nonblocking  )  [pure virtual]

Implemented in oasys::BluetoothClient, oasys::FdIOClient, and oasys::IPClient.


The documentation for this class was generated from the following file:
Generated on Sat Sep 8 08:43:51 2007 for DTN Reference Implementation by  doxygen 1.5.3