Namespaces | Functions | Variables
rls.cc File Reference
#include <grpc/support/port_platform.h>
#include <inttypes.h>
#include <stdlib.h>
#include <string.h>
#include <algorithm>
#include <deque>
#include <list>
#include <map>
#include <memory>
#include <random>
#include <set>
#include <string>
#include <unordered_map>
#include <utility>
#include <vector>
#include "absl/base/thread_annotations.h"
#include "absl/container/inlined_vector.h"
#include "absl/hash/hash.h"
#include "absl/memory/memory.h"
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
#include "absl/strings/str_join.h"
#include "absl/strings/string_view.h"
#include "absl/strings/strip.h"
#include "absl/types/optional.h"
#include "upb/upb.h"
#include "upb/upb.hpp"
#include <grpc/byte_buffer.h>
#include <grpc/byte_buffer_reader.h>
#include <grpc/grpc.h>
#include <grpc/impl/codegen/connectivity_state.h>
#include <grpc/impl/codegen/grpc_types.h>
#include <grpc/impl/codegen/propagation_bits.h>
#include <grpc/slice.h>
#include <grpc/status.h>
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/client_channel.h"
#include "src/core/ext/filters/client_channel/lb_policy.h"
#include "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h"
#include "src/core/ext/filters/client_channel/lb_policy_factory.h"
#include "src/core/ext/filters/client_channel/lb_policy_registry.h"
#include "src/core/ext/filters/client_channel/subchannel_interface.h"
#include "src/core/lib/backoff/backoff.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/channelz.h"
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/dual_ref_counted.h"
#include "src/core/lib/gprpp/orphanable.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/sync.h"
#include "src/core/lib/gprpp/time.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/pollset_set.h"
#include "src/core/lib/iomgr/timer.h"
#include "src/core/lib/iomgr/work_serializer.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_util.h"
#include "src/core/lib/resolver/resolver_registry.h"
#include "src/core/lib/resolver/server_address.h"
#include "src/core/lib/security/credentials/credentials.h"
#include "src/core/lib/security/credentials/fake/fake_credentials.h"
#include "src/core/lib/service_config/service_config_impl.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/slice/slice_refcount.h"
#include "src/core/lib/surface/call.h"
#include "src/core/lib/surface/channel.h"
#include "src/core/lib/transport/connectivity_state.h"
#include "src/core/lib/transport/error_utils.h"
#include "src/core/lib/uri/uri_parser.h"
#include "src/proto/grpc/lookup/v1/rls.upb.h"

Go to the source code of this file.

Namespaces

 grpc_core
 

Functions

void grpc_core::RlsLbPluginInit ()
 
void grpc_core::RlsLbPluginShutdown ()
 

Variables

TraceFlag grpc_core::grpc_lb_rls_trace (false, "rls_lb")
 

Variable Documentation

◆ addresses_

absl::StatusOr<ServerAddressList> addresses_
private

Definition at line 709 of file rls.cc.

◆ backoff_state_

std::unique_ptr<BackOff> backoff_state_
private

Definition at line 661 of file rls.cc.

◆ backoff_timer_

OrphanablePtr<BackoffTimer> backoff_timer_
private

Definition at line 461 of file rls.cc.

◆ backoff_timer_callback_

grpc_closure backoff_timer_callback_
private

Definition at line 462 of file rls.cc.

◆ cache_size_bytes

int64_t cache_size_bytes = 0

Definition at line 149 of file rls.cc.

◆ call_

grpc_call* call_ = nullptr
private

Definition at line 669 of file rls.cc.

◆ call_complete_cb_

grpc_closure call_complete_cb_
private

Definition at line 668 of file rls.cc.

◆ call_start_cb_

grpc_closure call_start_cb_
private

Definition at line 667 of file rls.cc.

◆ channel_

grpc_channel* channel_ = nullptr
private

Definition at line 619 of file rls.cc.

◆ channel_args_

const grpc_channel_args* channel_args_ = nullptr
private

Definition at line 710 of file rls.cc.

◆ child_policy_

OrphanablePtr<ChildPolicyHandler> child_policy_
private

Definition at line 346 of file rls.cc.

◆ child_policy_config_

Json child_policy_config_
private

Definition at line 200 of file rls.cc.

◆ child_policy_config_target_field_name_

std::string child_policy_config_target_field_name_
private

Definition at line 201 of file rls.cc.

◆ child_policy_map_

std::map<std::string , ChildPolicyWrapper*> child_policy_map_
private

Definition at line 713 of file rls.cc.

◆ cleanup_timer_

grpc_timer cleanup_timer_
private

Definition at line 536 of file rls.cc.

◆ config_

RefCountedPtr<RlsLbConfig> config_
private

Definition at line 366 of file rls.cc.

◆ constant_keys

std::map<std::string , std::string > constant_keys

Definition at line 139 of file rls.cc.

◆ deadline_

Timestamp deadline_
private

Definition at line 666 of file rls.cc.

◆ default_child_policy_

RefCountedPtr<ChildPolicyWrapper> default_child_policy_
private

Definition at line 367 of file rls.cc.

◆ default_child_policy_parsed_config_

RefCountedPtr<LoadBalancingPolicy::Config> default_child_policy_parsed_config_
private

Definition at line 203 of file rls.cc.

◆ default_target

std::string default_target

Definition at line 150 of file rls.cc.

◆ entry_

RefCountedPtr<Entry> entry_
private

Definition at line 459 of file rls.cc.

◆ ExitIdleLocked

void StartUpdate () ABSL_EXCLUSIVE_LOCKS_REQUIRED( &RlsLb void MaybeFinishUpdate () ABSL_LOCKS_EXCLUDED( &RlsLb void ExitIdleLocked()
inline

Definition at line 299 of file rls.cc.

◆ header_data

std::string header_data

Definition at line 253 of file rls.cc.

◆ header_keys

std::map<std::string , std::vector<std::string > > header_keys

Definition at line 135 of file rls.cc.

◆ host_key

std::string host_key

Definition at line 136 of file rls.cc.

◆ is_shutdown_

bool is_shutdown_ = false
private

Definition at line 344 of file rls.cc.

◆ key_

RlsLb::RequestKey key_
private

Definition at line 659 of file rls.cc.

◆ key_builder_map

KeyBuilderMap key_builder_map

Definition at line 144 of file rls.cc.

◆ key_map

std::map<std::string, std::string> key_map

Definition at line 219 of file rls.cc.

◆ lb_policy_

RefCountedPtr<RlsLb> lb_policy_
private

Definition at line 341 of file rls.cc.

◆ lookup_service

static char * lookup_service

Definition at line 145 of file rls.cc.

◆ lookup_service_timeout

Duration lookup_service_timeout

Definition at line 146 of file rls.cc.

◆ max_age

Duration max_age

Definition at line 147 of file rls.cc.

◆ method_key

std::string method_key

Definition at line 138 of file rls.cc.

◆ mu_

Mutex mu_
private

Definition at line 693 of file rls.cc.

◆ padding_

int padding_
private

Definition at line 606 of file rls.cc.

◆ parent_channelz_node_

RefCountedPtr<channelz::ChannelNode> parent_channelz_node_
private

Definition at line 620 of file rls.cc.

◆ pending_config_

RefCountedPtr<LoadBalancingPolicy::Config> pending_config_
private

Definition at line 347 of file rls.cc.

◆ ratio_for_successes_

double ratio_for_successes_
private

Definition at line 605 of file rls.cc.

◆ reason_

Definition at line 662 of file rls.cc.

◆ recv_initial_metadata_

grpc_metadata_array recv_initial_metadata_
private

Definition at line 671 of file rls.cc.

◆ recv_message_

grpc_byte_buffer* recv_message_ = nullptr
private

Definition at line 672 of file rls.cc.

◆ recv_trailing_metadata_

grpc_metadata_array recv_trailing_metadata_
private

Definition at line 673 of file rls.cc.

◆ rls_channel_

RefCountedPtr<RlsChannel> rls_channel_
private

Definition at line 583 of file rls.cc.

◆ rls_channel_service_config_

std::string rls_channel_service_config_
private

Definition at line 199 of file rls.cc.

◆ rng_

std::mt19937 rng_ {std::random_device()()}
private

Definition at line 607 of file rls.cc.

◆ route_lookup_config_

RouteLookupConfig route_lookup_config_
private

Definition at line 198 of file rls.cc.

◆ send_message_

grpc_byte_buffer* send_message_ = nullptr
private

Definition at line 670 of file rls.cc.

◆ server_name_

std::string server_name_
private

Definition at line 690 of file rls.cc.

◆ service_key

std::string service_key

Definition at line 137 of file rls.cc.

◆ ShouldThrottle

void StartRlsCall (const RequestKey& key, Cache::Entry* stale_entry) ABSL_EXCLUSIVE_LOCKS_REQUIRED( &RlsLb void ReportResponseLocked (bool response_succeeded) ABSL_EXCLUSIVE_LOCKS_REQUIRED( &RlsLb boo ShouldThrottle) () ABSL_EXCLUSIVE_LOCKS_REQUIRED(&RlsLb
inline

Definition at line 560 of file rls.cc.

◆ stale_age

Duration stale_age

Definition at line 148 of file rls.cc.

◆ stale_header_data_

std::string stale_header_data_
private

Definition at line 663 of file rls.cc.

◆ status

absl::Status status

Definition at line 251 of file rls.cc.

◆ status_details_recv_

grpc_slice status_details_recv_
private

Definition at line 675 of file rls.cc.

◆ status_recv_

grpc_status_code status_recv_
private

Definition at line 674 of file rls.cc.

◆ target_

std::string target_
private

Definition at line 342 of file rls.cc.

◆ targets

std::vector<std::string> targets

Definition at line 252 of file rls.cc.

◆ timer_callback_

grpc_closure timer_callback_
private

Definition at line 537 of file rls.cc.

◆ update_in_progress_

bool update_in_progress_ = false
private

Definition at line 695 of file rls.cc.

◆ was_transient_failure_

bool was_transient_failure_ = false
private

Definition at line 584 of file rls.cc.

◆ watcher_

StateWatcher* watcher_ = nullptr
private

Definition at line 621 of file rls.cc.

◆ window_size_

Duration window_size_
private

Definition at line 600 of file rls.cc.

◆ wrapper_

WeakRefCountedPtr<ChildPolicyWrapper> wrapper_
private

Definition at line 338 of file rls.cc.



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