|  | @@ -63,11 +63,13 @@ class CallOpBuffer final : public CompletionQueueTag {
 | 
	
		
			
				|  |  |    // Does not take ownership.
 | 
	
		
			
				|  |  |    void AddSendInitialMetadata(
 | 
	
		
			
				|  |  |        std::multimap<grpc::string, grpc::string> *metadata);
 | 
	
		
			
				|  |  | +  void AddSendInitialMetadata(ClientContext *ctx);
 | 
	
		
			
				|  |  |    void AddSendMessage(const google::protobuf::Message &message);
 | 
	
		
			
				|  |  |    void AddRecvMessage(google::protobuf::Message *message);
 | 
	
		
			
				|  |  |    void AddClientSendClose();
 | 
	
		
			
				|  |  |    void AddClientRecvStatus(Status *status);
 | 
	
		
			
				|  |  | -  void AddServerSendStatus(std::multimap<grpc::string, grpc::string> *metadata, const Status& status);
 | 
	
		
			
				|  |  | +  void AddServerSendStatus(std::multimap<grpc::string, grpc::string> *metadata,
 | 
	
		
			
				|  |  | +                           const Status &status);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    // INTERNAL API:
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -79,20 +81,21 @@ class CallOpBuffer final : public CompletionQueueTag {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |   private:
 | 
	
		
			
				|  |  |    void *return_tag_ = nullptr;
 | 
	
		
			
				|  |  | +  bool send_initial_metadata_ = false;
 | 
	
		
			
				|  |  |    size_t initial_metadata_count_ = 0;
 | 
	
		
			
				|  |  | -  grpc_metadata* initial_metadata_ = nullptr;
 | 
	
		
			
				|  |  | -  const google::protobuf::Message* send_message_ = nullptr;
 | 
	
		
			
				|  |  | -  grpc_byte_buffer* send_message_buf_ = nullptr;
 | 
	
		
			
				|  |  | -  google::protobuf::Message* recv_message_ = nullptr;
 | 
	
		
			
				|  |  | -  grpc_byte_buffer* recv_message_buf_ = nullptr;
 | 
	
		
			
				|  |  | +  grpc_metadata *initial_metadata_ = nullptr;
 | 
	
		
			
				|  |  | +  const google::protobuf::Message *send_message_ = nullptr;
 | 
	
		
			
				|  |  | +  grpc_byte_buffer *send_message_buf_ = nullptr;
 | 
	
		
			
				|  |  | +  google::protobuf::Message *recv_message_ = nullptr;
 | 
	
		
			
				|  |  | +  grpc_byte_buffer *recv_message_buf_ = nullptr;
 | 
	
		
			
				|  |  |    bool client_send_close_ = false;
 | 
	
		
			
				|  |  | -  Status* recv_status_ = nullptr;
 | 
	
		
			
				|  |  | +  Status *recv_status_ = nullptr;
 | 
	
		
			
				|  |  |    grpc_status_code status_code_ = GRPC_STATUS_OK;
 | 
	
		
			
				|  |  | -  char* status_details_ = nullptr;
 | 
	
		
			
				|  |  | +  char *status_details_ = nullptr;
 | 
	
		
			
				|  |  |    size_t status_details_capacity_ = 0;
 | 
	
		
			
				|  |  | -  Status* send_status_ = nullptr;
 | 
	
		
			
				|  |  | +  Status *send_status_ = nullptr;
 | 
	
		
			
				|  |  |    size_t trailing_metadata_count_ = 0;
 | 
	
		
			
				|  |  | -  grpc_metadata* trailing_metadata_ = nullptr;
 | 
	
		
			
				|  |  | +  grpc_metadata *trailing_metadata_ = nullptr;
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  class CCallDeleter {
 |