lux/dist/dispatcher.h

00001 #ifndef LUX_DIST_DISPATCHER_H
00002 #define LUX_DIST_DISPATCHER_H
00003 
00004 #include "handler.h"
00005 #include "cluster_searcher.h"
00006 
00007 namespace Lux {
00008 namespace Dist {
00009 
00010   class Dispatcher : public Handler {
00011   public:
00012     Dispatcher(void *p);
00013     virtual ~Dispatcher(void);
00014 
00015   private:
00016 #ifdef HAVE_TR1_MEMORY
00017     std::tr1::shared_ptr<ClusterSearcher> s_;
00018 #elif HAVE_BOOST_SHARED_PTR_HPP
00019     boost::shared_ptr<ClusterSearcher> s_;
00020 #endif
00021 
00022     virtual bool exec(request_header_t &header,
00023                       char *body, uint32_t body_len);
00024     bool exec_dispatch(char *body, uint32_t len);
00025     bool serialize_rs(TmpResultSet &rs, char **data, uint32_t *size);
00026   };
00027 
00028 }
00029 }
00030 
00031 #endif

Generated on Fri Feb 5 15:50:30 2010 for Lux by  doxygen 1.4.7