aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/grpc++/completion_queue.h3
-rw-r--r--include/grpc++/impl/call.h1
-rw-r--r--include/grpc++/server.h19
-rw-r--r--include/grpc++/server_context.h4
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();