⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
userver
C++ Async Framework v2.0
Documentation
API Groups
Namespaces
Reference
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
w
y
Variables
k
n
r
u
w
Typedefs
c
d
h
m
n
o
p
s
t
u
v
Enumerations
a
b
c
d
f
h
i
l
o
p
r
s
t
u
v
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
y
~
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
y
~
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Typedefs
Enumerations
Enumerator
Related Symbols
File List
File Members
All
e
i
l
r
t
u
Functions
Macros
e
i
l
r
t
u
Examples
Toggle main menu visibility
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Concepts
Loading...
Searching...
No Matches
All results
loggable_component_base.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/components/loggable_component_base.hpp
4
/// @brief Contains components::LoggableComponentBase declaration and forward
5
/// declarations of components::ComponentConfig and
6
/// components::ComponentContext, function components::GetCurrentComponentName()
7
8
#
include
<
userver
/
components
/
component_fwd
.
hpp
>
9
#
include
<
userver
/
components
/
impl
/
component_base
.
hpp
>
10
11
USERVER_NAMESPACE_BEGIN
12
13
namespace
components
{
14
15
/// @ingroup userver_base_classes
16
///
17
/// @brief Base class for all @ref userver_components "application components",
18
/// it depends on components::Logger and components::Tracer.
19
class
LoggableComponentBase
:
public
impl::ComponentBase {
20
public
:
21
LoggableComponentBase(
const
ComponentConfig&,
const
ComponentContext&);
22
23
LoggableComponentBase(
LoggableComponentBase
&&) =
delete
;
24
LoggableComponentBase(
const
LoggableComponentBase
&) =
delete
;
25
26
/// It is a good place to stop your work here.
27
/// All components dependent on the current component were destroyed.
28
/// All components on which the current component depends are still alive.
29
~
LoggableComponentBase
()
override
=
default
;
30
31
/// Override this function to inform the world of the state of your
32
/// component.
33
///
34
/// @warning The function is called concurrently from multiple threads.
35
ComponentHealth
GetComponentHealth
()
const
override
{
36
return
ComponentHealth
::
kOk
;
37
}
38
39
/// Called once if the creation of any other component failed.
40
/// If the current component expects some other component to take any action
41
/// with the current component, this call is a signal that such action may
42
/// never happen due to components loading was cancelled.
43
/// Application components might not want to override it.
44
void
OnLoadingCancelled
()
override
{}
45
46
/// Component may use this function to finalize registration of other
47
/// components that depend on it (for example, handler components register
48
/// in server component, and the latter uses OnAllComponentsLoaded() to start
49
/// processing requests).
50
///
51
/// Base components may override it and make `final` to do some work after the
52
/// derived object constructor is called. Don't use it otherwise.
53
void
OnAllComponentsLoaded
()
override
{}
54
55
/// Component may use this function to stop doing work before the stop of the
56
/// components that depend on it.
57
///
58
/// Base components may override it and make `final` to do some work before
59
/// the derived object constructor is called. Don't use it otherwise.
60
void
OnAllComponentsAreStopping
()
override
{}
61
62
static
yaml_config
::Schema GetStaticConfigSchema();
63
};
64
65
}
// namespace components
66
67
USERVER_NAMESPACE_END
Docs version:
v1.0
,
v2.0
,
trunk/develop
userver
components
loggable_component_base.hpp
Generated on Wed May 15 2024 22:15:27 for userver by
Doxygen
1.10.0