Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
impala-internal-service-proxy.h
Go to the documentation of this file.
1 
15 #ifndef IMPALA_SERVICE_IMPALA_INTERNAL_SERVICE_H
16 #define IMPALA_SERVICE_IMPALA_INTERNAL_SERVICE_H
17 
18 #include <boost/shared_ptr.hpp>
19 
20 #include "gen-cpp/ImpalaInternalService.h"
21 #include "gen-cpp/ImpalaInternalService_types.h"
22 #include "service/impala-server.h"
23 #include "service/fragment-mgr.h"
24 
25 namespace impala {
26 
30  public:
31  ImpalaInternalService(const boost::shared_ptr<ImpalaServer>& impala_server,
32  const boost::shared_ptr<FragmentMgr>& fragment_mgr)
33  : impala_server_(impala_server), fragment_mgr_(fragment_mgr) { }
34 
35  virtual void ExecPlanFragment(TExecPlanFragmentResult& return_val,
36  const TExecPlanFragmentParams& params) {
37  fragment_mgr_->ExecPlanFragment(params).SetTStatus(&return_val);
38  }
39 
40  virtual void CancelPlanFragment(TCancelPlanFragmentResult& return_val,
41  const TCancelPlanFragmentParams& params) {
42  fragment_mgr_->CancelPlanFragment(return_val, params);
43  }
44 
45  virtual void ReportExecStatus(TReportExecStatusResult& return_val,
46  const TReportExecStatusParams& params) {
47  impala_server_->ReportExecStatus(return_val, params);
48  }
49 
50  virtual void TransmitData(TTransmitDataResult& return_val,
51  const TTransmitDataParams& params) {
52  impala_server_->TransmitData(return_val, params);
53  }
54 
55  private:
57  boost::shared_ptr<ImpalaServer> impala_server_;
58 
60  boost::shared_ptr<FragmentMgr> fragment_mgr_;
61 };
62 
63 }
64 
65 #endif
virtual void ReportExecStatus(TReportExecStatusResult &return_val, const TReportExecStatusParams &params)
boost::shared_ptr< FragmentMgr > fragment_mgr_
Manages fragment execution.
virtual void CancelPlanFragment(TCancelPlanFragmentResult &return_val, const TCancelPlanFragmentParams &params)
ImpalaInternalService(const boost::shared_ptr< ImpalaServer > &impala_server, const boost::shared_ptr< FragmentMgr > &fragment_mgr)
virtual void ExecPlanFragment(TExecPlanFragmentResult &return_val, const TExecPlanFragmentParams &params)
virtual void TransmitData(TTransmitDataResult &return_val, const TTransmitDataParams &params)
boost::shared_ptr< ImpalaServer > impala_server_
Manages fragment reporting and data transmission.