Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
z
Classes
Class List
Class Hierarchy
Class Members
All
:
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Properties
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
grpc
src
core
ext
xds
xds_channel_stack_modifier.h
Go to the documentation of this file.
1
//
2
//
3
// Copyright 2021 gRPC authors.
4
//
5
// Licensed under the Apache License, Version 2.0 (the "License");
6
// you may not use this file except in compliance with the License.
7
// You may obtain a copy of the License at
8
//
9
// http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing, software
12
// distributed under the License is distributed on an "AS IS" BASIS,
13
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
// See the License for the specific language governing permissions and
15
// limitations under the License.
16
//
17
//
18
19
#ifndef GRPC_CORE_EXT_XDS_XDS_CHANNEL_STACK_MODIFIER_H
20
#define GRPC_CORE_EXT_XDS_XDS_CHANNEL_STACK_MODIFIER_H
21
22
#include <
grpc/support/port_platform.h
>
23
24
#include <utility>
25
#include <vector>
26
27
#include <
grpc/impl/codegen/grpc_types.h
>
28
29
#include "
src/core/lib/channel/channel_fwd.h
"
30
#include "
src/core/lib/channel/channel_stack_builder.h
"
31
#include "
src/core/lib/gprpp/ref_counted.h
"
32
#include "
src/core/lib/gprpp/ref_counted_ptr.h
"
33
34
namespace
grpc_core
{
35
36
// XdsChannelStackModifier allows for inserting xDS HTTP filters into the
37
// channel stack. It is registered to mutate the
38
// `ChannelStackBuilder` object via
39
// ChannelInit::Builder::RegisterStage.
40
class
XdsChannelStackModifier
:
public
RefCounted
<XdsChannelStackModifier> {
41
public
:
42
explicit
XdsChannelStackModifier
(
43
std::vector<const grpc_channel_filter*> filters)
44
:
filters_
(
std
::
move
(filters)) {}
45
// Returns true on success, false otherwise.
46
bool
ModifyChannelStack
(
ChannelStackBuilder
*
builder
);
47
grpc_arg
MakeChannelArg
()
const
;
48
static
RefCountedPtr<XdsChannelStackModifier>
GetFromChannelArgs
(
49
const
grpc_channel_args
&
args
);
50
51
private
:
52
std::vector<const grpc_channel_filter*>
filters_
;
53
};
54
55
}
// namespace grpc_core
56
57
#endif
/* GRPC_CORE_EXT_XDS_XDS_CHANNEL_STACK_MODIFIER_H */
grpc_arg
Definition:
grpc_types.h:103
grpc_core::XdsChannelStackModifier
Definition:
xds_channel_stack_modifier.h:40
channel_fwd.h
grpc_core::XdsChannelStackModifier::MakeChannelArg
grpc_arg MakeChannelArg() const
Definition:
xds_channel_stack_modifier.cc:89
grpc_core
Definition:
call_metric_recorder.h:31
grpc_core::XdsChannelStackModifier::GetFromChannelArgs
static RefCountedPtr< XdsChannelStackModifier > GetFromChannelArgs(const grpc_channel_args &args)
Definition:
xds_channel_stack_modifier.cc:96
grpc_channel_args
Definition:
grpc_types.h:132
grpc_core::ChannelStackBuilder
Definition:
channel_stack_builder.h:41
grpc_types.h
profile_analyzer.builder
builder
Definition:
profile_analyzer.py:159
asyncio_get_stats.args
args
Definition:
asyncio_get_stats.py:40
grpc_core::RefCountedPtr
Definition:
ref_counted_ptr.h:35
absl::move
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
Definition:
abseil-cpp/absl/utility/utility.h:221
grpc_core::RefCounted
Definition:
ref_counted.h:280
grpc_core::XdsChannelStackModifier::filters_
std::vector< const grpc_channel_filter * > filters_
Definition:
xds_channel_stack_modifier.h:52
ref_counted.h
std
Definition:
grpcpp/impl/codegen/async_unary_call.h:407
grpc_core::XdsChannelStackModifier::XdsChannelStackModifier
XdsChannelStackModifier(std::vector< const grpc_channel_filter * > filters)
Definition:
xds_channel_stack_modifier.h:42
ref_counted_ptr.h
grpc_core::XdsChannelStackModifier::ModifyChannelStack
bool ModifyChannelStack(ChannelStackBuilder *builder)
Definition:
xds_channel_stack_modifier.cc:61
channel_stack_builder.h
port_platform.h
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:55