Implements evioChannel functionality for I/O to and from socket. More...
#include <evioSocketChannel.hxx>
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. |
Implements evioChannel functionality for I/O to and from socket.
evioSocketChannel::evioSocketChannel | ( | int | sockFD, | |
const string & | m = "r" , |
|||
int | size = 100000 | |||
) | throw (evioException) |
Constructor opens socket for reading or writing.
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.
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.
void evioSocketChannel::close | ( | void | ) | throw (evioException) [virtual] |
const uint32_t * evioSocketChannel::getBuffer | ( | void | ) | const throw (evioException) [virtual] |
Returns pointer to internal channel buffer.
Implements evio::evioChannel.
int evioSocketChannel::getBufSize | ( | void | ) | const [virtual] |
Returns internal channel buffer size.
Implements evio::evioChannel.
string evioSocketChannel::getMode | ( | void | ) | const |
Returns channel I/O mode.
const uint32_t * evioSocketChannel::getNoCopyBuffer | ( | void | ) | const throw (evioException) [virtual] |
Returns pointer to no copy buffer.
Implements evio::evioChannel.
int evioSocketChannel::getSocketFD | ( | void | ) | const throw (evioException) |
Returns socket file descriptor.
string evioSocketChannel::getSocketXMLDictionary | ( | void | ) | const |
Returns XML dictionary read in from socket.
int evioSocketChannel::ioctl | ( | const string & | request, | |
void * | argp | |||
) | throw (evioException) [virtual] |
For getting and setting evIoctl 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.
myBuf | User-supplied buffer. length Length of buffer in 4-byte words. |
Implements evio::evioChannel.
bool evioSocketChannel::read | ( | void | ) | throw (evioException) [virtual] |
Reads from socket.
Implements evio::evioChannel.
bool evioSocketChannel::readAlloc | ( | uint32_t ** | buffer, | |
uint32_t * | bufLen | |||
) | throw (evioException) [virtual] |
Reads from socket and allocates buffer as needed.
buffer | Pointer to pointer to allocated buffer. | |
len | Length of allocated buffer in 4-byte words. |
Note: user MUST free the allocated buffer!
Implements evio::evioChannel.
bool evioSocketChannel::readNoCopy | ( | void | ) | throw (evioException) [virtual] |
Reads from socket using no copy mechanism.
Implements evio::evioChannel.
void evioSocketChannel::write | ( | const evioChannelBufferizable * | o | ) | throw (evioException) [virtual] |
Writes from contents of evioChannelBufferizable object.
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.
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.
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.
channel | Channel object |
void evioSocketChannel::write | ( | const uint32_t * | myBuf | ) | throw (evioException) [virtual] |
Writes to socket from user-supplied buffer.
myBuf | Buffer containing event |
Implements evio::evioChannel.
void evioSocketChannel::write | ( | void | ) | throw (evioException) [virtual] |