19 #ifndef MIR_CLIENT_RPC_MIR_BASIC_RPC_CHANNEL_H_
20 #define MIR_CLIENT_RPC_MIR_BASIC_RPC_CHANNEL_H_
22 #include <google/protobuf/service.h>
23 #include <google/protobuf/descriptor.h>
58 mir::protobuf::wire::Invocation& invoke,
59 google::protobuf::Message* response,
60 std::shared_ptr<google::protobuf::Closure>
const& complete);
74 google::protobuf::Message* response,
75 std::shared_ptr<google::protobuf::Closure>
const& target)
76 : response(response), complete(target) {}
79 : response(0), complete() {}
82 google::protobuf::Message* response;
83 std::shared_ptr<google::protobuf::Closure> complete;
86 std::mutex
mutable mutex;
87 std::map<int, PendingCall> pending_calls;
88 std::shared_ptr<RpcReport>
const rpc_report;
99 mir::protobuf::wire::Invocation
invocation_for(
const google::protobuf::MethodDescriptor* method,
100 const google::protobuf::Message* request);
104 std::atomic<int> next_message_id;