Namespaces | Macros | Variables
retry_filter.cc File Reference
#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/client_channel/retry_filter.h"
#include <inttypes.h>
#include <limits.h>
#include <stddef.h>
#include <memory>
#include <new>
#include <string>
#include <utility>
#include "absl/container/inlined_vector.h"
#include "absl/status/statusor.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
#include "absl/strings/strip.h"
#include "absl/types/optional.h"
#include "absl/utility/utility.h"
#include <grpc/impl/codegen/grpc_types.h>
#include <grpc/slice.h>
#include <grpc/status.h>
#include <grpc/support/atm.h>
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/client_channel.h"
#include "src/core/ext/filters/client_channel/config_selector.h"
#include "src/core/ext/filters/client_channel/retry_service_config.h"
#include "src/core/ext/filters/client_channel/retry_throttle.h"
#include "src/core/lib/backoff/backoff.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/channel_stack.h"
#include "src/core/lib/channel/context.h"
#include "src/core/lib/channel/status_util.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/gprpp/construct_destruct.h"
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/orphanable.h"
#include "src/core/lib/gprpp/ref_counted.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/iomgr/call_combiner.h"
#include "src/core/lib/iomgr/closure.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/iomgr/polling_entity.h"
#include "src/core/lib/iomgr/timer.h"
#include "src/core/lib/resource_quota/arena.h"
#include "src/core/lib/service_config/service_config.h"
#include "src/core/lib/service_config/service_config_call_data.h"
#include "src/core/lib/slice/slice_buffer.h"
#include "src/core/lib/slice/slice_refcount.h"
#include "src/core/lib/transport/error_utils.h"
#include "src/core/lib/transport/metadata_batch.h"
#include "src/core/lib/transport/transport.h"
#include "src/core/lib/uri/uri_parser.h"

Go to the source code of this file.

Namespaces

 grpc_core
 

Macros

#define DEFAULT_PER_RPC_RETRY_BUFFER_SIZE   (256 << 10)
 
#define RETRY_BACKOFF_JITTER   0.2
 

Variables

const grpc_channel_filter grpc_core::kRetryFilterVtable
 

Macro Definition Documentation

◆ DEFAULT_PER_RPC_RETRY_BUFFER_SIZE

#define DEFAULT_PER_RPC_RETRY_BUFFER_SIZE   (256 << 10)

Definition at line 124 of file retry_filter.cc.

◆ RETRY_BACKOFF_JITTER

#define RETRY_BACKOFF_JITTER   0.2

Definition at line 128 of file retry_filter.cc.

Variable Documentation

◆ abandoned_

bool abandoned_
private

Definition at line 511 of file retry_filter.cc.

◆ arena_

Arena* arena_
private

Definition at line 570 of file retry_filter.cc.

◆ attempt_dispatch_controller_

AttemptDispatchController attempt_dispatch_controller_
private

Definition at line 448 of file retry_filter.cc.

◆ batch

RefCountedPtr<BatchData> batch = nullptr

Definition at line 243 of file retry_filter.cc.

◆ batch_

Definition at line 357 of file retry_filter.cc.

◆ batch_payload_

Definition at line 457 of file retry_filter.cc.

◆ bytes_buffered_for_retry_

size_t bytes_buffered_for_retry_ = 0
private

Definition at line 594 of file retry_filter.cc.

◆ call_attempt_

RefCountedPtr<CallAttempt> call_attempt_
private

Definition at line 354 of file retry_filter.cc.

◆ call_combiner_

CallCombiner* call_combiner_
private

Definition at line 572 of file retry_filter.cc.

◆ call_context_

grpc_call_context_element* call_context_
private

Definition at line 573 of file retry_filter.cc.

◆ call_stack_destruction_barrier_

RefCountedPtr<CallStackDestructionBarrier> call_stack_destruction_barrier_
private

Definition at line 577 of file retry_filter.cc.

◆ calld_

CallData* calld_
private

Definition at line 447 of file retry_filter.cc.

◆ cancelled_from_surface_

grpc_error_handle cancelled_from_surface_ = GRPC_ERROR_NONE
private

Definition at line 575 of file retry_filter.cc.

◆ chand_

RetryFilter* chand_
private

Definition at line 562 of file retry_filter.cc.

◆ client_channel_

ClientChannel* client_channel_
private

Definition at line 216 of file retry_filter.cc.

◆ collect_stats_

grpc_transport_stream_stats collect_stats_
private

Definition at line 472 of file retry_filter.cc.

◆ committed_call_

OrphanablePtr<ClientChannel::LoadBalancedCall> committed_call_
private

Definition at line 587 of file retry_filter.cc.

◆ completed_recv_initial_metadata_

bool completed_recv_initial_metadata_
private

Definition at line 485 of file retry_filter.cc.

◆ completed_recv_message_count_

size_t completed_recv_message_count_ = 0
private

Definition at line 479 of file retry_filter.cc.

◆ completed_recv_trailing_metadata_

bool completed_recv_trailing_metadata_
private

Definition at line 487 of file retry_filter.cc.

◆ completed_send_initial_metadata_

bool completed_send_initial_metadata_
private

Definition at line 481 of file retry_filter.cc.

◆ completed_send_message_count_

size_t completed_send_message_count_ = 0
private

Definition at line 477 of file retry_filter.cc.

◆ completed_send_trailing_metadata_

bool completed_send_trailing_metadata_
private

Definition at line 483 of file retry_filter.cc.

◆ deadline_

Timestamp deadline_
private

Definition at line 569 of file retry_filter.cc.

◆ error

Definition at line 499 of file retry_filter.cc.

◆ flags

uint32_t flags

Definition at line 632 of file retry_filter.cc.

◆ lb_call_

OrphanablePtr<ClientChannel::LoadBalancedCall> lb_call_
private

Definition at line 449 of file retry_filter.cc.

◆ lb_call_committed_

bool lb_call_committed_ = false
private

Definition at line 450 of file retry_filter.cc.

◆ num_attempts_completed_

int num_attempts_completed_ = 0
private

Definition at line 605 of file retry_filter.cc.

◆ on_call_stack_destruction_

grpc_closure* on_call_stack_destruction_ = nullptr
private

Definition at line 690 of file retry_filter.cc.

◆ on_complete_

grpc_closure on_complete_
private

Definition at line 359 of file retry_filter.cc.

◆ on_complete_deferred_batches_

absl::InlinedVector<OnCompleteDeferredBatch, 3> on_complete_deferred_batches_
private

Definition at line 503 of file retry_filter.cc.

◆ on_per_attempt_recv_timer_

grpc_closure on_per_attempt_recv_timer_
private

Definition at line 453 of file retry_filter.cc.

◆ owning_call_

grpc_call_stack* owning_call_
private

Definition at line 571 of file retry_filter.cc.

◆ path_

grpc_slice path_
private

Definition at line 568 of file retry_filter.cc.

◆ peer_string_

gpr_atm* peer_string_
private

Definition at line 622 of file retry_filter.cc.

◆ pending_batches_

PendingBatch pending_batches_[MAX_PENDING_BATCHES]
private

Definition at line 595 of file retry_filter.cc.

◆ pending_send_initial_metadata_

bool pending_send_initial_metadata_
private

Definition at line 596 of file retry_filter.cc.

◆ pending_send_message_

bool pending_send_message_
private

Definition at line 597 of file retry_filter.cc.

◆ pending_send_trailing_metadata_

bool pending_send_trailing_metadata_
private

Definition at line 598 of file retry_filter.cc.

◆ per_attempt_recv_timer_

grpc_timer per_attempt_recv_timer_
private

Definition at line 452 of file retry_filter.cc.

◆ per_attempt_recv_timer_pending_

bool per_attempt_recv_timer_pending_ = false
private

Definition at line 454 of file retry_filter.cc.

◆ per_rpc_retry_buffer_size_

size_t per_rpc_retry_buffer_size_
private

Definition at line 217 of file retry_filter.cc.

◆ pollent_

grpc_polling_entity* pollent_
private

Definition at line 563 of file retry_filter.cc.

◆ recv_initial_metadata_

grpc_metadata_batch recv_initial_metadata_ {calld_->arena_}
private

Definition at line 463 of file retry_filter.cc.

◆ recv_initial_metadata_error_

grpc_error_handle recv_initial_metadata_error_ = GRPC_ERROR_NONE
private

Definition at line 491 of file retry_filter.cc.

◆ recv_initial_metadata_ready_

grpc_closure recv_initial_metadata_ready_
private

Definition at line 464 of file retry_filter.cc.

◆ recv_initial_metadata_ready_deferred_batch_

RefCountedPtr<BatchData> recv_initial_metadata_ready_deferred_batch_
private

Definition at line 490 of file retry_filter.cc.

◆ recv_message_

absl::optional<SliceBuffer> recv_message_
private

Definition at line 468 of file retry_filter.cc.

◆ recv_message_error_

grpc_error_handle recv_message_error_ = GRPC_ERROR_NONE
private

Definition at line 493 of file retry_filter.cc.

◆ recv_message_flags_

uint32_t recv_message_flags_
private

Definition at line 469 of file retry_filter.cc.

◆ recv_message_ready_

grpc_closure recv_message_ready_
private

Definition at line 467 of file retry_filter.cc.

◆ recv_message_ready_deferred_batch_

RefCountedPtr<BatchData> recv_message_ready_deferred_batch_
private

Definition at line 492 of file retry_filter.cc.

◆ recv_trailing_metadata_

grpc_metadata_batch recv_trailing_metadata_ {calld_->arena_}
private

Definition at line 471 of file retry_filter.cc.

◆ recv_trailing_metadata_error_

grpc_error_handle recv_trailing_metadata_error_ = GRPC_ERROR_NONE
private

Definition at line 505 of file retry_filter.cc.

◆ recv_trailing_metadata_internal_batch_

RefCountedPtr<BatchData> recv_trailing_metadata_internal_batch_
private

Definition at line 504 of file retry_filter.cc.

◆ recv_trailing_metadata_ready_

grpc_closure recv_trailing_metadata_ready_
private

Definition at line 473 of file retry_filter.cc.

◆ retry_backoff_

BackOff retry_backoff_
private

Definition at line 566 of file retry_filter.cc.

◆ retry_closure_

grpc_closure retry_closure_
private

Definition at line 607 of file retry_filter.cc.

◆ retry_codepath_started_

bool retry_codepath_started_
private

Definition at line 603 of file retry_filter.cc.

◆ retry_committed_

bool retry_committed_
private

Definition at line 601 of file retry_filter.cc.

◆ retry_policy_

const RetryMethodConfig* retry_policy_ = nullptr
private

Definition at line 565 of file retry_filter.cc.

◆ retry_throttle_data_

RefCountedPtr<ServerRetryThrottleData> retry_throttle_data_
private

Definition at line 218 of file retry_filter.cc.

◆ retry_timer_

grpc_timer retry_timer_
private

Definition at line 606 of file retry_filter.cc.

◆ retry_timer_pending_

bool retry_timer_pending_
private

Definition at line 602 of file retry_filter.cc.

◆ seen_recv_trailing_metadata_from_surface_

bool seen_recv_trailing_metadata_from_surface_
private

Definition at line 506 of file retry_filter.cc.

◆ seen_send_initial_metadata_

bool seen_send_initial_metadata_ = false
private

Definition at line 611 of file retry_filter.cc.

◆ seen_send_trailing_metadata_

bool seen_send_trailing_metadata_ = false
private

Definition at line 636 of file retry_filter.cc.

◆ send_initial_metadata_

grpc_metadata_batch send_initial_metadata_ {calld_->arena_}
private

Definition at line 459 of file retry_filter.cc.

◆ send_initial_metadata_flags_

uint32_t send_initial_metadata_flags_
private

Definition at line 613 of file retry_filter.cc.

◆ send_messages_

absl::InlinedVector<CachedSendMessage, 3> send_messages_
private

Definition at line 634 of file retry_filter.cc.

◆ send_ops_cached

bool send_ops_cached = false

Definition at line 245 of file retry_filter.cc.

◆ send_trailing_metadata_

grpc_metadata_batch send_trailing_metadata_ {calld_->arena_}
private

Definition at line 461 of file retry_filter.cc.

◆ sent_cancel_stream_

bool sent_cancel_stream_
private

Definition at line 488 of file retry_filter.cc.

◆ sent_transparent_retry_not_seen_by_server_

bool sent_transparent_retry_not_seen_by_server_
private

Definition at line 604 of file retry_filter.cc.

◆ service_config_parser_index_

const size_t service_config_parser_index_
private

Definition at line 219 of file retry_filter.cc.

◆ slices

SliceBuffer* slices

Definition at line 631 of file retry_filter.cc.

◆ started_recv_initial_metadata_

bool started_recv_initial_metadata_
private

Definition at line 484 of file retry_filter.cc.

◆ started_recv_message_count_

size_t started_recv_message_count_ = 0
private

Definition at line 478 of file retry_filter.cc.

◆ started_recv_trailing_metadata_

bool started_recv_trailing_metadata_
private

Definition at line 486 of file retry_filter.cc.

◆ started_send_initial_metadata_

bool started_send_initial_metadata_
private

Definition at line 480 of file retry_filter.cc.

◆ started_send_message_count_

size_t started_send_message_count_ = 0
private

Definition at line 476 of file retry_filter.cc.

◆ started_send_trailing_metadata_

bool started_send_trailing_metadata_
private

Definition at line 482 of file retry_filter.cc.

◆ trailing_metadata_available_

bool trailing_metadata_available_ = false
private

Definition at line 465 of file retry_filter.cc.



grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:28