diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/grpc++/completion_queue.h | 3 | ||||
-rw-r--r-- | include/grpc++/impl/call.h | 1 | ||||
-rw-r--r-- | include/grpc++/server.h | 19 | ||||
-rw-r--r-- | include/grpc++/server_context.h | 4 |
4 files changed, 9 insertions, 18 deletions
diff --git a/include/grpc++/completion_queue.h b/include/grpc++/completion_queue.h index c976bd5b45..7f0677b4e5 100644 --- a/include/grpc++/completion_queue.h +++ b/include/grpc++/completion_queue.h @@ -54,6 +54,7 @@ template <class R, class W> class ServerReaderWriter; class CompletionQueue; +class Server; class CompletionQueueTag { public: @@ -67,6 +68,7 @@ class CompletionQueueTag { class CompletionQueue { public: CompletionQueue(); + explicit CompletionQueue(grpc_completion_queue *take); ~CompletionQueue(); // Blocking read from queue. @@ -87,6 +89,7 @@ class CompletionQueue { template <class R> friend class ::grpc::ServerReader; template <class W> friend class ::grpc::ServerWriter; template <class R, class W> friend class ::grpc::ServerReaderWriter; + friend class ::grpc::Server; friend Status BlockingUnaryCall(ChannelInterface *channel, const RpcMethod &method, ClientContext *context, const google::protobuf::Message &request, diff --git a/include/grpc++/impl/call.h b/include/grpc++/impl/call.h index 139604a531..d5a865df05 100644 --- a/include/grpc++/impl/call.h +++ b/include/grpc++/impl/call.h @@ -67,6 +67,7 @@ class CallOpBuffer final : public CompletionQueueTag { void AddRecvMessage(google::protobuf::Message *message); void AddClientSendClose(); void AddClientRecvStatus(Status *status); + void AddServerSendStatus(std::multimap<grpc::string, grpc::string> *metadata, const Status& status); // INTERNAL API: diff --git a/include/grpc++/server.h b/include/grpc++/server.h index eefd4457f9..b02c4130d9 100644 --- a/include/grpc++/server.h +++ b/include/grpc++/server.h @@ -69,24 +69,7 @@ class Server { private: friend class ServerBuilder; - class MethodRequestData { - public: - MethodRequestData(RpcServiceMethod* method, void* tag) : method_(method), tag_(tag) {} - static MethodRequestData *Wait(CompletionQueue *cq); - - void Request(CompletionQueue* cq); - - class CallData { - public: - explicit CallData(MethodRequestData *mrd); - - void Run(); - }; - - private: - RpcServiceMethod *const method_; - void *const tag_; - }; + class MethodRequestData; // ServerBuilder use only Server(ThreadPoolInterface* thread_pool, bool thread_pool_owned, ServerCredentials* creds); diff --git a/include/grpc++/server_context.h b/include/grpc++/server_context.h index 4af9fd6aaa..a58e63aff2 100644 --- a/include/grpc++/server_context.h +++ b/include/grpc++/server_context.h @@ -39,11 +39,15 @@ #include "config.h" +struct grpc_metadata; +struct gpr_timespec; + namespace grpc { // Interface of server side rpc context. class ServerContext { public: + ServerContext(gpr_timespec deadline, grpc_metadata *metadata, size_t metadata_count); virtual ~ServerContext() {} std::chrono::system_clock::time_point absolute_deadline(); |