#include <p6eventq.h>
Inherits P6R::p6ICom.
Public Member Functions | |
virtual P6INT32 | addref (void)=0 |
virtual P6R::P6ERR | enableLogging (P6BOOL bEnable)=0 |
virtual P6R::P6ERR | getBufferFactory (p6IIoBufferFactory **ppFactory)=0 |
virtual P6R::P6ERR | getName (P6WCHAR *pBuffer, P6INT32 cBuffer)=0 |
virtual P6R::P6ERR | getNextEvent (P6EVENTTYPE *pnType, p6ICom **ppIoIface, p6IIoBuffer **ppIoBuffer, P6IOCONTEXT **ppIoContext, P6VOID **ppHandleContext, P6INTERVAL tTimeout)=0 |
virtual P6R::P6ERR | initialize (const P6WCHAR *pwszQueueName, const P6WCHAR *pwszEventSourceDefFile, p6IIoBufferFactory *pFactory, p6IEventQHooks *pHooks, P6EVENTQFLAG fFlags)=0 |
virtual P6R::P6ERR | postEvent (P6EVENTTYPE nType, P6QPRIORITY nPriority, p6ICom *pIoIface, p6IIoBuffer *pIoBuffer, P6IOCONTEXT *pIoContext, P6VOID *pHandleContext)=0 |
virtual P6R::P6ERR | queryInterface (const P6R::P6IID &iid, P6VOID **ppIface)=0 |
virtual P6INT32 | release (void)=0 |
virtual P6R::P6ERR | start (void)=0 |
virtual P6R::P6ERR | stop (void)=0 |
This interface provides an unified asynchronous event queue which an application can use to receive I/O notifications (file and socket) as well as timer and user generated notifications. The event queue is an effcient means of processing multiple asynchronous requests on multi-processor (multi-core) systems. This interface allows large numbers of asynchronous requests to be processed concurrently by a small pre-allocated thread pool. The event queue can also be extended to handle any type of asynchronous notification by implementing additional p6IEventSource's. The event queue will provide emulated asynchronous I/O on platforms that do not support true asynchronous I/O.
The application associates I/O interfaces with the event queue by calling the queues associate() method. I/O operations are then initiated by using the queue's postXXXXX() methods (postRead(), postWrite(), etc.), and the resulting event notifications are retrieved using the getNetEvent() method.
Definition at line 239 of file p6eventq.h.