123456789101112131415161718192021222324252627282930 |
- --- a/src/core/ext/filters/client_channel/retry_filter.cc (index)
- +++ b/src/core/ext/filters/client_channel/retry_filter.cc (working tree)
- @@ -462,6 +462,9 @@ class RetryFilter::CallData {
- grpc_transport_stream_op_batch_payload batch_payload_;
- // For send_initial_metadata.
- grpc_metadata_batch send_initial_metadata_{calld_->arena_};
- +
- + SliceBuffer send_message_;
- +
- // For send_trailing_metadata.
- grpc_metadata_batch send_trailing_metadata_{calld_->arena_};
- // For intercepting recv_initial_metadata.
- @@ -1911,6 +1914,7 @@ void RetryFilter::CallData::CallAttempt::BatchData::OnComplete(
- }
- if (batch_data->batch_.send_message) {
- ++call_attempt->completed_send_message_count_;
- + call_attempt->send_message_.Clear();
- }
- if (batch_data->batch_.send_trailing_metadata) {
- call_attempt->completed_send_trailing_metadata_ = true;
- @@ -1999,7 +2003,8 @@ void RetryFilter::CallData::CallAttempt::BatchData::
- calld->send_messages_[call_attempt_->started_send_message_count_];
- ++call_attempt_->started_send_message_count_;
- batch_.send_message = true;
- - batch_.payload->send_message.send_message = cache.slices;
- + call_attempt_->send_message_ = cache.slices->Copy();
- + batch_.payload->send_message.send_message = &call_attempt_->send_message_;
- batch_.payload->send_message.flags = cache.flags;
- }
-
|