ResponseHandler.h 787 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef RPC_RESPONSEHANDLER_H
  2. #define RPC_RESPONSEHANDLER_H
  3. #include <boost/function.hpp>
  4. #include <google/protobuf/service.h>
  5. #include <google/protobuf/message.h>
  6. #include "Base/Typedef.h"
  7. #include "Rpc/RpcTypedef.h"
  8. namespace Egametang {
  9. class ResponseHandler
  10. {
  11. private:
  12. const google::protobuf::MethodDescriptor* method;
  13. google::protobuf::Message* request;
  14. google::protobuf::Message* response;
  15. std::size_t id;
  16. MessageHandler message_handler;
  17. public:
  18. ResponseHandler(MethodInfoPtr& method_info, std::size_t id, MessageHandler& send_message);
  19. ~ResponseHandler();
  20. const google::protobuf::MethodDescriptor* Method();
  21. google::protobuf::Message* Request();
  22. google::protobuf::Message* Response();
  23. void Run();
  24. };
  25. } // namespace Egametang
  26. #endif // RPC_RESPONSEHANDLER_H