listener.h
// Copyright (c) 2002 David Muse
// See the COPYING file for more information.
#ifndef RUDIMENTS_LISTENER_H
#define RUDIMENTS_LISTENER_H
#include <rudiments/private/listenerincludes.h>
typedef linkedlistnode<filedescriptor *> listenerlistnode;
typedef linkedlist<filedescriptor *> listenerlist;
class listenerprivate;
class RUDIMENTS_DLLSPEC listener {
public:
listener();
virtual ~listener();
void addFileDescriptor(filedescriptor *fd);
int32_t waitForNonBlockingRead(int32_t sec, int32_t usec);
int32_t waitForNonBlockingWrite(int32_t sec, int32_t usec);
listenerlist *getReadyList();
void removeFileDescriptor(filedescriptor *fd);
void removeAllFileDescriptors();
void retryInterruptedWaits();
void dontRetryInterruptedWaits();
#include <rudiments/private/listener.h>
};
#endif