Loading [MathJax]/extensions/tex2jax.js
SensESP
3.1.0
Universal Signal K sensor toolkit ESP32
Toggle main menu visibility
Main Page
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
k
m
n
o
s
u
v
w
Functions
a
b
c
e
f
g
h
m
o
s
u
Variables
Typedefs
a
b
d
f
i
n
s
v
w
Enumerations
Classes
Class List
Class Index
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
y
z
~
Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
z
~
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
y
Typedefs
Related Symbols
Files
File List
File Members
All
b
d
g
h
k
l
m
p
r
s
w
Functions
Variables
Macros
▼
SensESP
►
Namespaces
►
Classes
▼
Files
▼
File List
▼
src
▼
sensesp
►
controllers
►
net
►
sensors
►
signalk
▼
system
►
async_response_handler.h
►
base_button.h
button.cpp
►
button.h
►
expiring_value.h
filesystem.cpp
►
filesystem.h
►
hash.cpp
►
hash.h
►
lambda_consumer.h
►
led_blinker.cpp
►
led_blinker.h
local_debug.cpp
►
local_debug.h
►
minimal_button.h
►
observable.h
►
observablevalue.h
►
pwm_output.h
resettable.cpp
►
resettable.h
►
rgb_led.cpp
►
rgb_led.h
saveable.cpp
►
saveable.h
►
semaphore_value.h
►
serial_number.h
►
serializable.h
►
startable.h
►
stream_producer.h
►
system_status_led.cpp
►
system_status_led.h
►
task_queue_producer.h
ui_output.h
►
uuid.cpp
►
uuid.h
►
valueconsumer.h
►
valueproducer.h
►
transforms
►
types
►
ui
►
sensesp_version.h
►
main.cpp
►
sensesp.cpp
►
sensesp.h
►
sensesp_app.cpp
►
sensesp_app.h
►
sensesp_app_builder.h
sensesp_base_app.cpp
►
sensesp_base_app.h
►
sensesp_base_app_builder.h
►
sensesp_minimal_app.h
►
sensesp_minimal_app_builder.h
►
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Loading...
Searching...
No Matches
expiring_value.h
Go to the documentation of this file.
1
#ifndef SENSESP_SYSTEM_EXPIRING_VALUE_H_
2
#define SENSESP_SYSTEM_EXPIRING_VALUE_H_
3
4
namespace
sensesp
{
5
15
template
<
typename
T>
16
class
ExpiringValue
{
17
public
:
18
ExpiringValue
()
19
: value_{},
20
expiration_duration_{1000},
21
last_update_{0},
22
expired_value_{T{}} {}
18
ExpiringValue
() {
…
}
23
24
ExpiringValue
(T value,
unsigned
long
expiration_duration, T expired_value)
25
: value_{value},
26
expiration_duration_{expiration_duration},
27
expired_value_{expired_value},
28
last_update_{millis()} {}
24
ExpiringValue
(T value,
unsigned
long
expiration_duration, T expired_value) {
…
}
29
30
void
update
(T value) {
31
value_ = value;
32
last_update_ = millis();
33
}
30
void
update
(T value) {
…
}
34
35
T
get
()
const
{
36
if
(!
is_expired
()) {
37
return
value_;
38
}
else
{
39
return
expired_value_;
40
}
41
}
35
T
get
()
const
{
…
}
42
43
bool
is_expired
()
const
{
44
return
millis() - last_update_ > expiration_duration_;
45
}
43
bool
is_expired
()
const
{
…
}
46
47
private
:
48
T value_;
49
T expired_value_;
50
unsigned
long
expiration_duration_;
51
unsigned
long
last_update_;
52
};
16
class
ExpiringValue
{
…
};
53
54
}
// namespace sensesp
55
56
#endif
// SENSESP_SRC_SENSESP_SYSTEM_EXPIRING_VALUE_H_
sensesp::ExpiringValue
Value container that keeps track of its expiration time.
Definition
expiring_value.h:16
sensesp::ExpiringValue::ExpiringValue
ExpiringValue()
Definition
expiring_value.h:18
sensesp::ExpiringValue::update
void update(T value)
Definition
expiring_value.h:30
sensesp::ExpiringValue::ExpiringValue
ExpiringValue(T value, unsigned long expiration_duration, T expired_value)
Definition
expiring_value.h:24
sensesp::ExpiringValue::get
T get() const
Definition
expiring_value.h:35
sensesp::ExpiringValue::is_expired
bool is_expired() const
Definition
expiring_value.h:43
sensesp
Definition
sensesp.cpp:7
src
sensesp
system
expiring_value.h
Generated by
1.12.0