evio::evioSocketChannel Class Reference

Implements evioChannel functionality for I/O to and from socket. More...

#include <evioSocketChannel.hxx>

Inheritance diagram for evio::evioSocketChannel:
evio::evioChannel

List of all members.

Public Member Functions

 evioSocketChannel (int socFd, const string &mode="r", int size=100000) throw (evioException)
 Constructor opens socket for reading or writing.
 evioSocketChannel (int socFd, evioDictionary *dict, const string &mode="r", int size=100000) throw (evioException)
 Constructor opens socket for reading or writing.
virtual ~evioSocketChannel (void)
 Destructor closes socket, deletes internal buffer.
void open (void) throw (evioException)
 Opens channel for reading or writing.
bool read (void) throw (evioException)
 Reads from socket.
bool read (uint32_t *myEventBuf, int length) throw (evioException)
 Reads from socket into user-supplied event buffer.
bool readAlloc (uint32_t **buffer, uint32_t *bufLen) throw (evioException)
 Reads from socket and allocates buffer as needed.
bool readNoCopy (void) throw (evioException)
 Reads from socket using no copy mechanism.
void write (void) throw (evioException)
 Writes to socket from internal buffer.
void write (const uint32_t *myEventBuf) throw (evioException)
 Writes to socket from user-supplied buffer.
void write (const evioChannel &channel) throw (evioException)
 Writes to socket from internal buffer of another evioChannel object.
void write (const evioChannel *channel) throw (evioException)
 Writes from internal buffer of another evioChannel object.
void write (const evioChannelBufferizable &o) throw (evioException)
 Writes from contents of evioChannelBufferizable object.
void write (const evioChannelBufferizable *o) throw (evioException)
 Writes from contents of evioChannelBufferizable object.
void close (void) throw (evioException)
 Closes channel.
int ioctl (const string &request, void *argp) throw (evioException)
 For getting and setting evIoctl parameters.
const uint32_t * getBuffer (void) const throw (evioException)
 Returns pointer to internal channel buffer.
int getBufSize (void) const
 Returns internal channel buffer size.
const uint32_t * getNoCopyBuffer (void) const throw (evioException)
 Returns pointer to no copy buffer.
string getMode (void) const
 Returns channel I/O mode.
int getSocketFD (void) const throw (evioException)
 Returns socket file descriptor.
string getSocketXMLDictionary (void) const
 Returns XML dictionary read in from socket.

Detailed Description

Implements evioChannel functionality for I/O to and from socket.


Constructor & Destructor Documentation

evioSocketChannel::evioSocketChannel ( int  sockFD,
const string &  m = "r",
int  size = 100000 
) throw (evioException)

Constructor opens socket for reading or writing.

Parameters:
sockFD Socket file descriptor
m I/O mode, "r" or "w"
size Internal event buffer size
evioSocketChannel::evioSocketChannel ( int  sockFD,
evioDictionary dict,
const string &  m = "r",
int  size = 100000 
) throw (evioException)

Constructor opens socket for reading or writing.

Parameters:
sockFD Socket file descriptor
dict Dictionary
m I/O mode, "r" or "w"
size Internal event buffer size
evioSocketChannel::~evioSocketChannel ( void   )  [virtual]

Destructor closes socket, deletes internal buffer.

References close(), and evio::evioChannel::dictionary.


Member Function Documentation

void evioSocketChannel::close ( void   )  throw (evioException) [virtual]

Closes channel.

Implements evio::evioChannel.

Referenced by ~evioSocketChannel().

const uint32_t * evioSocketChannel::getBuffer ( void   )  const throw (evioException) [virtual]

Returns pointer to internal channel buffer.

Returns:
Pointer to internal buffer

Implements evio::evioChannel.

int evioSocketChannel::getBufSize ( void   )  const [virtual]

Returns internal channel buffer size.

Returns:
Internal buffer size in 4-byte words

Implements evio::evioChannel.

string evioSocketChannel::getMode ( void   )  const

Returns channel I/O mode.

Returns:
String containing I/O mode
const uint32_t * evioSocketChannel::getNoCopyBuffer ( void   )  const throw (evioException) [virtual]

Returns pointer to no copy buffer.

Returns:
Returs pointer to internal buffer since there is noCopy buffer does not exist

Implements evio::evioChannel.

int evioSocketChannel::getSocketFD ( void   )  const throw (evioException)

Returns socket file descriptor.

Returns:
socket file descriptor
string evioSocketChannel::getSocketXMLDictionary ( void   )  const

Returns XML dictionary read in from socket.

Returns:
XML dictionary read in from socket
int evioSocketChannel::ioctl ( const string &  request,
void *  argp 
) throw (evioException) [virtual]

For getting and setting evIoctl parameters.

Parameters:
request String containing evIoctl parameters
argp Additional evIoctl parameter

Implements evio::evioChannel.

void evioSocketChannel::open ( void   )  throw (evioException) [virtual]

Opens channel for reading or writing.

For read, user-supplied dictionary overrides one received from socket.

Implements evio::evioChannel.

References evio::evioChannel::dictionary, and evio::evioDictionary::getDictionaryXML().

bool evioSocketChannel::read ( uint32_t *  myBuf,
int  length 
) throw (evioException) [virtual]

Reads from socket into user-supplied event buffer.

Parameters:
myBuf User-supplied buffer. length Length of buffer in 4-byte words.
Returns:
true if successful, false on EOF or other evRead error condition

Implements evio::evioChannel.

bool evioSocketChannel::read ( void   )  throw (evioException) [virtual]

Reads from socket.

Returns:
true if successful, false on EOF or other evRead error condition

Implements evio::evioChannel.

bool evioSocketChannel::readAlloc ( uint32_t **  buffer,
uint32_t *  bufLen 
) throw (evioException) [virtual]

Reads from socket and allocates buffer as needed.

Parameters:
buffer Pointer to pointer to allocated buffer.
len Length of allocated buffer in 4-byte words.
Returns:
true if successful, false on EOF, throws exception for other error.

Note: user MUST free the allocated buffer!

Implements evio::evioChannel.

bool evioSocketChannel::readNoCopy ( void   )  throw (evioException) [virtual]

Reads from socket using no copy mechanism.

Returns:
true if successful, false on EOF, throws exception for other error.

Implements evio::evioChannel.

void evioSocketChannel::write ( const evioChannelBufferizable o  )  throw (evioException) [virtual]

Writes from contents of evioChannelBufferizable object.

Parameters:
o Pointer to evioChannelBufferizable object that can serialize to socket

Implements evio::evioChannel.

References write().

void evioSocketChannel::write ( const evioChannelBufferizable o  )  throw (evioException) [virtual]

Writes from contents of evioChannelBufferizable object.

Parameters:
o evioChannelBufferizable object that can serialize to socket

Implements evio::evioChannel.

References write().

void evioSocketChannel::write ( const evioChannel channel  )  throw (evioException)

Writes from internal buffer of another evioChannel object.

Parameters:
channel Pointer to channel object

References write().

void evioSocketChannel::write ( const evioChannel channel  )  throw (evioException)

Writes to socket from internal buffer of another evioChannel object.

Parameters:
channel Channel object
void evioSocketChannel::write ( const uint32_t *  myBuf  )  throw (evioException) [virtual]

Writes to socket from user-supplied buffer.

Parameters:
myBuf Buffer containing event

Implements evio::evioChannel.

void evioSocketChannel::write ( void   )  throw (evioException) [virtual]

Writes to socket from internal buffer.

Implements evio::evioChannel.

Referenced by write().


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

Generated on 4 Feb 2014 for evio by  doxygen 1.6.1