Main Page | Class Hierarchy | Class List | File List | Class Members

RIPCQueue.h

00001 #ifndef __RIPC_SQUEUE_H__
00002 #define __RIPC_SQUEUE_H__
00003 
00004 #include "RIPCPrimitive.h"
00005 
00021 class RIPC_DLL_ENTRY RIPCQueue : public virtual RIPCPrimitive { 
00022   public:
00037     void get(RIPCObject& objDesc) {
00038         priorityGet(DEFAULT_RANK, objDesc);
00039     }
00040 
00049     void* get() { 
00050         return priorityGet(DEFAULT_RANK);
00051     }
00052 
00053 
00064     bool get(RIPCObject& objDesc, unsigned timeout) { 
00065         return priorityGet(DEFAULT_RANK, objDesc, timeout);
00066     }
00067 
00078     void* get(unsigned timeout) {
00079         return priorityGet(DEFAULT_RANK, timeout);
00080     }
00081     
00098     virtual void priorityGet(int rank, RIPCObject& objDesc) = 0;
00099 
00110     void* priorityGet(int rank) { 
00111         RIPCObject objDesc;
00112         priorityGet(rank, objDesc);
00113         return (void*)objDesc.data;
00114     }
00115 
00116 
00129     virtual bool priorityGet(int rank, RIPCObject& objDesc, unsigned timeout) = 0;
00130 
00143     void* priorityGet(int rank, unsigned timeout) {
00144         RIPCObject objDesc;
00145         return priorityGet(rank, objDesc, timeout) ? (void*)objDesc.data : NULL;
00146     }
00147     
00148 
00153     virtual void put(RIPCObject const& objDesc) = 0;
00154 
00160     virtual void put(void const* obj, size_t objSize) = 0;
00161 
00167     virtual void broadcast(RIPCObject const& objDesc) = 0;
00168 
00175     virtual void broadcast(void const* obj, size_t objSize) = 0;
00176 
00177     RIPCPrimitiveType getType() { 
00178         return RIPC_QUEUE;
00179     }
00180 };
00181 
00182 
00183 #endif

Generated on Wed Nov 26 14:58:18 2003 for RIPC by doxygen 1.3.5