Rudiments: listener Class Reference

Rudiments

Public Member Functions | List of all members
listener Class Reference

## Public Member Functions
| listener ()
virtual | ~listener ()
void | addFileDescriptor (filedescriptor *fd)
void | addReadFileDescriptor (filedescriptor *fd)
void | addWriteFileDescriptor (filedescriptor *fd)
void | removeFileDescriptor (filedescriptor *fd)
void | removeAllFileDescriptors ()
int32_t | listen ()
int32_t | listen (int32_t sec, int32_t usec)
listenerlist * | getReadReadyList ()
listenerlist * | getWriteReadyList ()
void | retryInterruptedWaits ()
void | dontRetryInterruptedWaits ()

## Detailed Description

The listener class listens for activity on a pool of filedescriptors or children of the filedescriptor class.

## Constructor & Destructor Documentation

## ◆ listener()

listener::listener | ( |  | ) |

Creates an instance of the listener class.

## ◆ ~listener()

virtual listener::~listener | ( |  | ) |
| virtual

Deletes this instance of the listener class.

## Member Function Documentation

## ◆ addFileDescriptor()

void listener::addFileDescriptor | ( | filedescriptor * | fd | ) |

Adds the specified file descriptor to the pool that the listener is listening on. When listen() is called, it will listen for read or write operations on this file descriptor.

## ◆ addReadFileDescriptor()

void listener::addReadFileDescriptor | ( | filedescriptor * | fd | ) |

Adds the specified file descriptor to the pool that the listener is listening on. When listen() is called, it will only listen for read operations on this file descriptor.

## ◆ addWriteFileDescriptor()

void listener::addWriteFileDescriptor | ( | filedescriptor * | fd | ) |

Adds the specified file descriptor to the pool that the listener is listening on. When listen() is called, it will only listen for write operations on this file descriptor.

## ◆ dontRetryInterruptedWaits()

void listener::dontRetryInterruptedWaits | ( |  | ) |

Causes waits not to automatically retry if interrupted by a signal. The default is to retry automatically.

## ◆ getReadReadyList()

listenerlist* listener::getReadReadyList | ( |  | ) |

Returns the list of file descriptors that were ready for read operations after the last call to listen().

## ◆ getWriteReadyList()

listenerlist* listener::getWriteReadyList | ( |  | ) |

Returns the list of file descriptors that were ready for write operations after the last call to listen().

## ◆ listen() [1/2]

int32_t listener::listen | ( |  | ) |

Causes the application to wait until a read or write operation will proceed without blocking, as appropriate for each file descriptor added by previous calls.

Returns RESULT_ERROR on error or otherwise returns the number of file descriptors that are ready to be read from or written to.

## ◆ listen() [2/2]

int32_t listener::listen | ( | int32_t | sec,
|  | int32_t | usec
| ) |  |

Causes the application to wait until a read or write operation will proceed without blocking, as appropriate for each file descriptor added by previous calls, or until "sec" seconds and "usec" microseconds have elapsed.

Entering -1 for either parameter causes the method to wait indefinitely.

Entering 0 for both parameters causes the method to fall through immediately, returning RESULT_TIMEOUT unless a write operation will immediately proceed without blocking.

Returns RESULT_ERROR on error, RESULT_TIMEOUT on timeout and otherwise returns the number of file descriptors that are ready to be read from or written to.

## ◆ removeAllFileDescriptors()

void listener::removeAllFileDescriptors | ( |  | ) |

Removes all file descriptors from the pool.

## ◆ removeFileDescriptor()

void listener::removeFileDescriptor | ( | filedescriptor * | fd | ) |

Removes the specified file descriptor from the pool.

## ◆ retryInterruptedWaits()

void listener::retryInterruptedWaits | ( |  | ) |

Causes waits to automatically retry if interrupted by a signal. This is the default.