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
lib
event_engine
iomgr_engine
event_engine/iomgr_engine/timer_heap.h
Go to the documentation of this file.
1
/*
2
*
3
* Copyright 2015 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_LIB_EVENT_ENGINE_IOMGR_ENGINE_TIMER_HEAP_H
20
#define GRPC_CORE_LIB_EVENT_ENGINE_IOMGR_ENGINE_TIMER_HEAP_H
21
22
#include <
grpc/support/port_platform.h
>
23
24
#include <cstddef>
25
#include <vector>
26
27
namespace
grpc_event_engine
{
28
namespace
iomgr_engine {
29
30
struct
Timer;
31
32
class
TimerHeap
{
33
public
:
34
/* return true if the new timer is the first timer in the heap */
35
bool
Add
(
Timer
*
timer
);
36
37
void
Remove
(
Timer
*
timer
);
38
Timer
*
Top
();
39
void
Pop
();
40
41
bool
is_empty
();
42
43
const
std::vector<Timer*>&
TestOnlyGetTimers
()
const
{
return
timers_
; }
44
45
private
:
46
void
AdjustUpwards
(
size_t
i,
Timer
* t);
47
void
AdjustDownwards
(
size_t
i,
Timer
* t);
48
void
NoteChangedPriority
(
Timer
*
timer
);
49
50
std::vector<Timer*>
timers_
;
51
};
52
53
}
// namespace iomgr_engine
54
}
// namespace grpc_event_engine
55
56
#endif
/* GRPC_CORE_LIB_EVENT_ENGINE_IOMGR_ENGINE_TIMER_HEAP_H */
grpc_event_engine::iomgr_engine::TimerHeap
Definition:
event_engine/iomgr_engine/timer_heap.h:32
grpc_event_engine::iomgr_engine::TimerHeap::Top
Timer * Top()
Definition:
event_engine/iomgr_engine/timer_heap.cc:102
grpc_event_engine::iomgr_engine::TimerHeap::Add
bool Add(Timer *timer)
Definition:
event_engine/iomgr_engine/timer_heap.cc:81
grpc_event_engine::iomgr_engine::TimerHeap::TestOnlyGetTimers
const std::vector< Timer * > & TestOnlyGetTimers() const
Definition:
event_engine/iomgr_engine/timer_heap.h:43
grpc_event_engine::iomgr_engine::TimerHeap::Pop
void Pop()
Definition:
event_engine/iomgr_engine/timer_heap.cc:104
grpc_event_engine::iomgr_engine::TimerHeap::is_empty
bool is_empty()
Definition:
event_engine/iomgr_engine/timer_heap.cc:100
grpc_event_engine::iomgr_engine::TimerHeap::NoteChangedPriority
void NoteChangedPriority(Timer *timer)
Definition:
event_engine/iomgr_engine/timer_heap.cc:71
grpc_event_engine::iomgr_engine::TimerHeap::timers_
std::vector< Timer * > timers_
Definition:
event_engine/iomgr_engine/timer_heap.h:50
grpc_event_engine::iomgr_engine::TimerHeap::Remove
void Remove(Timer *timer)
Definition:
event_engine/iomgr_engine/timer_heap.cc:88
grpc_event_engine::iomgr_engine::Timer
Definition:
event_engine/iomgr_engine/timer.h:44
grpc_event_engine::iomgr_engine::TimerHeap::AdjustUpwards
void AdjustUpwards(size_t i, Timer *t)
Definition:
event_engine/iomgr_engine/timer_heap.cc:37
grpc_event_engine::iomgr_engine::TimerHeap::AdjustDownwards
void AdjustDownwards(size_t i, Timer *t)
Definition:
event_engine/iomgr_engine/timer_heap.cc:52
grpc_event_engine
Definition:
endpoint_config.h:24
timer
static uv_timer_t timer
Definition:
test-callback-stack.c:34
port_platform.h
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:39