userver
C++ Async Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
reflection_service_component.cpp
1
#
include
<
userver
/
grpc
-
reflection
/
reflection_service_component
.
hpp
>
2
3
#
include
<
userver
/
logging
/
log
.
hpp
>
4
#
include
<
userver
/
ugrpc
/
server
/
server_component
.
hpp
>
5
#
include
<
userver
/
ugrpc
/
server
/
service_component_base
.
hpp
>
6
7
#
include
<
grpc
-
reflection
/
proto_server_reflection
.
hpp
>
8
9
USERVER_NAMESPACE_BEGIN
10
11
namespace
grpc_reflection
{
12
13
ReflectionServiceComponent::ReflectionServiceComponent(
14
const
components
::ComponentConfig& config,
15
const
components
::ComponentContext& context
16
)
17
: ugrpc::server::
ServiceComponentBase
(config, context),
18
service_(std::make_unique<
grpc_reflection
::ProtoServerReflection>()),
19
ugrpc_server_(context
.
FindComponent
<
ugrpc
::
server
::
ServerComponent
>
(
)
.
GetServer
(
)
)
20
{
21
LOG_INFO
() <<
"Preparing to register service"
;
22
RegisterService
(
*service_
)
;
23
LOG_INFO
() <<
"Service registered"
;
24
}
25
26
ReflectionServiceComponent::~ReflectionServiceComponent() =
default
;
27
28
void
ReflectionServiceComponent::AddService(std::string_view service) { service_->AddService(service); }
29
30
void
ReflectionServiceComponent::OnAllComponentsLoaded() {
31
const
auto
& service_names = ugrpc_server_
.
GetServiceNames
(
)
;
32
service_->AddServiceList(service_names);
33
ready_.store(
true
);
34
}
35
36
components
::
ComponentHealth
ReflectionServiceComponent::GetComponentHealth()
const
{
37
return
ready_.load() ?
components
::
ComponentHealth
::
kOk
:
components
::
ComponentHealth
::
kFatal
;
38
}
39
40
}
// namespace grpc_reflection
41
42
USERVER_NAMESPACE_END
src
grpc-reflection
reflection_service_component.cpp
Generated on
for userver by
Doxygen
1.17.0