basic network request queue. More...
#include <netrq.h>
Public Types | |
enum | eInsertResult { eQueue_Success = 0, eQueue_Failed_CurrentEntryHasLaterClock = 1, eQueue_Failed_CurrentEntryHasEarlierClock = 2, eQueue_Failed_Unknown = 3 } |
Public Member Functions | |
virtual int | size (void)=0 |
Returns count of requests in queue. | |
virtual eInsertResult | addRequest (IN dword_t sendClock, IN smart_ptr< Request > &request)=0 |
If the addRequest fails due to a collision, the return value will tell the client whether the existing request has an earlier or later clock than what was just requested. | |
virtual bool | getNextRequest (IN dword_t clock, OUT smart_ptr< Request > &request)=0 |
returns the next request that should be sent. | |
virtual bool | containsRequest (IN const char *id)=0 |
does the queue already contain a request with this id? | |
virtual bool | removeRequest (IN const char *id)=0 |
| |
virtual | ~Queue (void) throw () |
static smart_ptr< Queue > | create (void) |
basic network request queue.
This class is threadsafe . In some situations (single-threaded client) this may be unnecessary overhead, but given the common use case (reacting to or sending UDP diagrams) this isn't expected to be much overhead.
Definition at line 98 of file netrq.h.