/*
* Copyright (C) 2001, Shilad Sen, Sourcelight Technologies, Inc.
* See xmlrpc.h or the README for more copyright information.
*
* An object which monitors file descriptors for events and performs
* callbacks when interesting events happen
*/
#ifndef _RPCDISPATCH_H_
#define _RPCDISPATCH_H_
#include "rpcInclude.h"
PyTypeObject rpcDispType;
struct _disp; /* to appease the compiler gods */
/*
* A dispatcher for file-descriptor based events
*/
typedef struct _disp {
PyObject_HEAD /* python standard */
uint maxid, /* the next source id to use */
scard, /* number of sources */
salloc; /* amount of sources allocated */
double etime; /* when work should stop */
rpcSource **srcs; /* array of pointers to sources */
} rpcDisp;
rpcDisp *rpcDispNew(void);
void rpcDispClear(rpcDisp *dp);
void rpcDispDealloc(rpcDisp *dp);
PyObject *rpcDispActiveFds(rpcDisp *dp);
bool rpcDispAddSource(rpcDisp *dp, rpcSource *sp);
bool rpcDispDelSource(rpcDisp *dp, rpcSource *sp);
bool rpcDispWork(rpcDisp *dp, double timeout, bool *timedOut);
#endif /* _RPCDISPATCH_H_ */
syntax highlighted by Code2HTML, v. 0.9.1