Go to the documentation of this file.
26 #include "absl/memory/memory.h"
27 #include "absl/status/statusor.h"
56 #define GRPC_ARG_LAME_FILTER_ERROR "grpc.lame_filter_error"
86 if (
op->start_connectivity_watch !=
nullptr) {
87 state_->state_tracker.AddWatcher(
op->start_connectivity_watch_state,
90 if (
op->stop_connectivity_watch !=
nullptr) {
91 state_->state_tracker.RemoveWatcher(
op->stop_connectivity_watch);
94 if (
op->send_ping.on_initiate !=
nullptr) {
98 if (
op->send_ping.on_ack !=
nullptr) {
103 if (
op->on_consumed !=
nullptr) {
112 void* ErrorCopy(
void* p) {
115 void ErrorDestroy(
void* p) {
delete static_cast<absl::Status*
>(p); }
116 int ErrorCompare(
void* p,
void* q) {
return QsortCompare(p, q); }
119 ErrorCopy, ErrorDestroy, ErrorCompare};
126 &kLameFilterErrorArgVtable);
133 const char* error_message) {
136 "grpc_lame_client_channel_create(target=%s, error_code=%d, "
138 3, (
target, (
int)error_code, error_message));
148 &grpc_core::kLameFilterErrorArgVtable));
152 return channel->release()->c_ptr();
static const grpc_channel_filter kFilter
bool GetChannelInfo(const grpc_channel_info *) override
grpc_arg MakeLameClientErrorArg(grpc_error_handle *error)
std::unique_ptr< State > state_
memory_internal::MakeUniqueResult< T >::scalar make_unique(Args &&... args)
MetadataHandle< ServerMetadata > ServerMetadataHandle
wrapped_grpc_channel * channel
std::function< ArenaPromise< ServerMetadataHandle >(CallArgs)> NextPromiseFactory
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
#define GRPC_ARG_LAME_FILTER_ERROR
static const CoreConfiguration & Get()
absl::enable_if_t< std::is_base_of< ChannelFilter, F >::value, grpc_channel_filter > MakePromiseBasedFilter(const char *name)
ArenaPromise< ServerMetadataHandle > MakeCallPromise(CallArgs call_args, NextPromiseFactory next_promise_factory) override
LameClientFilter(absl::Status error)
const ChannelArgsPreconditioning & channel_args_preconditioning() const
#define GRPC_ERROR_CREATE_FROM_STATIC_STRING(desc)
grpc_channel * grpc_lame_client_channel_create(const char *target, grpc_status_code error_code, const char *error_message)
GRPC_MUST_USE_RESULT ChannelArgs Set(absl::string_view name, Value value) const
ABSL_NAMESPACE_BEGIN class ABSL_MUST_USE_RESULT Status
static constexpr uint8_t kFilterIsLast
bool StartTransportOp(grpc_transport_op *) override
int QsortCompare(const T &a, const T &b)
grpc_core::ExecCtx exec_ctx
#define GRPC_ERROR_UNREF(err)
static void Run(const DebugLocation &location, grpc_closure *closure, grpc_error_handle error)
grpc_connectivity_state state_
struct grpc_channel grpc_channel
promise_detail::Immediate< T > Immediate(T value)
static absl::StatusOr< LameClientFilter > Create(ChannelArgs args, ChannelFilter::Args filter_args)
grpc_arg grpc_channel_arg_pointer_create(char *name, void *value, const grpc_arg_pointer_vtable *vtable)
ChannelArgs PreconditionChannelArgs(const grpc_channel_args *args) const
static absl::StatusOr< RefCountedPtr< Channel > > Create(const char *target, ChannelArgs args, grpc_channel_stack_type channel_stack_type, grpc_transport *optional_transport)
#define GRPC_API_TRACE(fmt, nargs, args)
@ GRPC_CLIENT_LAME_CHANNEL
grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:14