34 #ifndef GRPCXX_CLIENT_CONTEXT_H
35 #define GRPCXX_CLIENT_CONTEXT_H
41 #include <grpc/support/log.h>
42 #include <grpc/support/time.h>
43 #include <grpc++/config.h>
44 #include <grpc++/time.h>
52 class ChannelInterface;
61 template <
class R,
class W>
67 template <
class R,
class W>
77 void AddMetadata(
const grpc::string& meta_key,
78 const grpc::string& meta_value);
80 const std::multimap<grpc::string, grpc::string>& GetServerInitialMetadata() {
81 GPR_ASSERT(initial_metadata_received_);
82 return recv_initial_metadata_;
85 const std::multimap<grpc::string, grpc::string>& GetServerTrailingMetadata() {
87 return trailing_metadata_;
91 void set_deadline(
const T& deadline) {
93 deadline_ = deadline_tp.raw_time();
96 #ifndef GRPC_CXX0X_NO_CHRONO
97 std::chrono::system_clock::time_point deadline() {
98 return Timespec2Timepoint(deadline_);
100 #endif // !GRPC_CXX0X_NO_CHRONO
104 void set_authority(
const grpc::string& authority) { authority_ = authority; }
107 void set_credentials(
const std::shared_ptr<Credentials>& creds) {
121 friend class ::grpc::ClientReader;
123 friend class ::grpc::ClientWriter;
124 template <
class R,
class W>
125 friend class ::grpc::ClientReaderWriter;
127 friend class ::grpc::ClientAsyncReader;
129 friend class ::grpc::ClientAsyncWriter;
130 template <
class R,
class W>
131 friend class ::grpc::ClientAsyncReaderWriter;
133 friend class ::grpc::ClientAsyncResponseReader;
137 const std::shared_ptr<ChannelInterface>& channel);
142 grpc::string authority() {
return authority_; }
144 bool initial_metadata_received_;
145 std::shared_ptr<ChannelInterface> channel_;
149 grpc::string authority_;
150 std::shared_ptr<Credentials> creds_;
151 std::multimap<grpc::string, grpc::string> send_initial_metadata_;
152 std::multimap<grpc::string, grpc::string> recv_initial_metadata_;
153 std::multimap<grpc::string, grpc::string> trailing_metadata_;
158 #endif // GRPCXX_CLIENT_CONTEXT_H
Definition: client_context.h:60
Definition: _channel.h:40
Definition: client_context.h:62
Definition: _completion_queue.h:40
Definition: client_context.h:70
Definition: client_context.h:72
Definition: client_context.h:58
Definition: client_context.h:64
Definition: completion_queue.c:61
Definition: client_context.h:68
Definition: client_context.h:66