Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ReaderRpc.h

Go to the documentation of this file.
00001 #ifndef DISTBOSS_READER_RPC_H
00002 #define DISTBOSS_READER_RPC_H
00003 
00004 #include "DistBossUtil/PthrReaderBufPool.h"
00005 #include "DistBossServer/RpcInterface.h"
00006 #include "dis.hxx"
00007 #include <string>
00008 #include <map>
00009 #include <vector>
00010 #include <semaphore.h>
00011 
00012 template<class Reader>
00013 class ReaderRpc : virtual public DimRpc, virtual public RpcInterface
00014 {
00015    public :
00016 
00017       ReaderRpc(const std::string& svrName, const std::vector<std::string>& fnames, int evtMax);
00018       virtual ~ReaderRpc();
00019 
00020       int wait_to_end();
00021 
00022 
00023    private :
00024 
00025       void rpcHandler();
00026 
00027       ReaderRpc();  //stop default
00028 
00029 
00030    private :
00031 
00032       int  m_evtDone;
00033       int  m_evtMax;
00034 
00035       int  m_stopFlag;
00036 
00037       int  m_inCode;
00038       int  m_outCode;
00039       const uint32_t* m_pEvt;
00040 
00041       PthrReaderBufPool<Reader>* m_freader;
00042 
00043       sem_t  m_sem;
00044 
00045       std::string m_svrName;
00046 
00047       std::map<int, AutoEnlargeBuffer*> m_evtBak;
00048 };
00049 
00050 #include "DistBossServer/template/ReaderRpc.cc"
00051 
00052 #endif

Generated on Wed Feb 2 15:41:25 2011 for BOSS6.5.5 by  doxygen 1.3.9.1