Make it compile

pull/501/head
Yang Gao 10 years ago
parent 1464bc175d
commit 2382293226
  1. 3
      include/grpc++/impl/call.h
  2. 12
      include/grpc++/stream.h
  3. 2
      src/cpp/client/client_unary_call.cc
  4. 9
      src/cpp/common/call.cc

@ -85,6 +85,7 @@ class CallOpBuffer final : public CompletionQueueTag {
private:
void *return_tag_ = nullptr;
// Send initial metadata
bool send_initial_metadata_ = false;
size_t initial_metadata_count_ = 0;
grpc_metadata* initial_metadata_ = nullptr;
// Recv initial metadta
@ -106,7 +107,7 @@ class CallOpBuffer final : public CompletionQueueTag {
char *status_details_ = nullptr;
size_t status_details_capacity_ = 0;
// Server send status
Status* send_status_ = nullptr;
const Status* send_status_ = nullptr;
size_t trailing_metadata_count_ = 0;
grpc_metadata *trailing_metadata_ = nullptr;
};

@ -105,7 +105,7 @@ class ClientReader final : public ClientStreamingInterface,
virtual Status Finish() override {
CallOpBuffer buf;
Status status;
buf.AddClientRecvStatus(&status);
buf.AddClientRecvStatus(nullptr, &status); // TODO metadata
call_.PerformOps(&buf);
GPR_ASSERT(cq_.Pluck(&buf));
return status;
@ -146,7 +146,7 @@ class ClientWriter final : public ClientStreamingInterface,
CallOpBuffer buf;
Status status;
buf.AddRecvMessage(response_);
buf.AddClientRecvStatus(&status);
buf.AddClientRecvStatus(nullptr, &status); // TODO metadata
call_.PerformOps(&buf);
GPR_ASSERT(cq_.Pluck(&buf));
return status;
@ -193,7 +193,7 @@ class ClientReaderWriter final : public ClientStreamingInterface,
virtual Status Finish() override {
CallOpBuffer buf;
Status status;
buf.AddClientRecvStatus(&status);
buf.AddClientRecvStatus(nullptr, &status); // TODO metadata
call_.PerformOps(&buf);
GPR_ASSERT(cq_.Pluck(&buf));
return status;
@ -312,7 +312,7 @@ class ClientAsyncReader final : public ClientAsyncStreamingInterface,
virtual void Finish(Status* status, void* tag) override {
finish_buf_.Reset(tag);
finish_buf_.AddClientRecvStatus(status);
finish_buf_.AddClientRecvStatus(nullptr, status); // TODO metadata
call_.PerformOps(&finish_buf_);
}
@ -350,7 +350,7 @@ class ClientAsyncWriter final : public ClientAsyncStreamingInterface,
virtual void Finish(Status* status, void* tag) override {
finish_buf_.Reset(tag);
finish_buf_.AddRecvMessage(response_);
finish_buf_.AddClientRecvStatus(status);
finish_buf_.AddClientRecvStatus(nullptr, status); // TODO metadata
call_.PerformOps(&finish_buf_);
}
@ -393,7 +393,7 @@ class ClientAsyncReaderWriter final : public ClientAsyncStreamingInterface,
virtual void Finish(Status* status, void* tag) override {
finish_buf_.Reset(tag);
finish_buf_.AddClientRecvStatus(status);
finish_buf_.AddClientRecvStatus(nullptr, status); // TODO metadata
call_.PerformOps(&finish_buf_);
}

@ -52,7 +52,7 @@ Status BlockingUnaryCall(ChannelInterface *channel, const RpcMethod &method,
buf.AddSendMessage(request);
buf.AddRecvMessage(result);
buf.AddClientSendClose();
buf.AddClientRecvStatus(&status);
buf.AddClientRecvStatus(nullptr, &status); // TODO metadata
call.PerformOps(&buf);
cq.Pluck(&buf);
return status;

@ -43,6 +43,7 @@ namespace grpc {
void CallOpBuffer::Reset(void* next_return_tag) {
return_tag_ = next_return_tag;
send_initial_metadata_ = false;
initial_metadata_count_ = 0;
gpr_free(initial_metadata_);
@ -106,7 +107,7 @@ void FillMetadataMap(grpc_metadata_array* arr,
arr->metadata[i].key, {arr->metadata[i].value, arr->metadata[i].value_length}));
}
grpc_metadata_array_destroy(arr);
grpc_metadata_array_init(&recv_trailing_metadata_arr_);
grpc_metadata_array_init(arr);
}
} // namespace
@ -114,7 +115,7 @@ void CallOpBuffer::AddSendInitialMetadata(
std::multimap<grpc::string, grpc::string>* metadata) {
send_initial_metadata_ = true;
initial_metadata_count_ = metadata->size();
initial_metadata_ = FillMetadata(metadata);
initial_metadata_ = FillMetadataArray(metadata);
}
void CallOpBuffer::AddSendInitialMetadata(ClientContext *ctx) {
@ -142,7 +143,7 @@ void CallOpBuffer::AddClientRecvStatus(
void CallOpBuffer::AddServerSendStatus(
std::multimap<grpc::string, grpc::string>* metadata, const Status& status) {
trailing_metadata_count_ = metadata->size();
trailing_metadata_ = FillMetadata(metadata);
trailing_metadata_ = FillMetadataArray(metadata);
send_status_ = &status;
}
@ -219,7 +220,7 @@ void CallOpBuffer::FinalizeResult(void **tag, bool *status) {
*tag = return_tag_;
// Process received initial metadata
if (recv_initial_metadata_) {
FillMetadataMap(&recv_initial_metadata_, recv_initial_metadata_);
FillMetadataMap(&recv_initial_metadata_arr_, recv_initial_metadata_);
}
// Parse received message if any.
if (recv_message_ && recv_message_buf_) {

Loading…
Cancel
Save