ResponseHandler.h 784 B

12345678910111213141516171819202122232425262728293031323334353637
  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 messageHandler;
  17. public:
  18. ResponseHandler(MethodInfoPtr& method_info, std::size_t id, MessageHandler& sendMessage);
  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