GRPC C++  1.26.0
time.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_SUPPORT_TIME_H
20 #define GRPC_SUPPORT_TIME_H
21 
23 
25 
26 #include <stddef.h>
27 #include <time.h>
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
39 #define GPR_MS_PER_SEC 1000
40 #define GPR_US_PER_SEC 1000000
41 #define GPR_NS_PER_SEC 1000000000
42 #define GPR_NS_PER_MS 1000000
43 #define GPR_NS_PER_US 1000
44 #define GPR_US_PER_MS 1000
45 
47 GPRAPI void gpr_time_init(void);
48 
51 
54  gpr_clock_type target_clock);
55 
59 
62 
66 
75 
76 GPRAPI int32_t gpr_time_to_millis(gpr_timespec timespec);
77 
81  gpr_timespec threshold);
82 
85 
87 
88 #ifdef __cplusplus
89 }
90 #endif
91 
92 #endif /* GRPC_SUPPORT_TIME_H */
GPRAPI gpr_timespec gpr_inf_past(gpr_clock_type type)
The far future.
GPRAPI double gpr_timespec_to_micros(gpr_timespec t)
GPRAPI gpr_timespec gpr_convert_clock_type(gpr_timespec t, gpr_clock_type target_clock)
Convert a timespec from one clock to another.
GPRAPI void gpr_time_init(void)
initialize time subsystem
GPRAPI gpr_timespec gpr_time_from_nanos(int64_t x, gpr_clock_type clock_type)
GPRAPI gpr_timespec gpr_inf_future(gpr_clock_type type)
The zero time interval.
GPRAPI gpr_timespec gpr_time_from_minutes(int64_t x, gpr_clock_type clock_type)
#define GPRAPI
Definition: port_platform.h:604
GPRAPI int gpr_time_cmp(gpr_timespec a, gpr_timespec b)
Return -ve, 0, or +ve according to whether a < b, a == b, or a > b respectively.
GPRAPI void gpr_sleep_until(gpr_timespec until)
Sleep until at least &#39;until&#39; - an absolute timeout.
GPRAPI gpr_timespec gpr_time_max(gpr_timespec a, gpr_timespec b)
GPRAPI gpr_timespec gpr_time_sub(gpr_timespec a, gpr_timespec b)
GPRAPI gpr_timespec gpr_time_from_millis(int64_t x, gpr_clock_type clock_type)
GPRAPI gpr_timespec gpr_time_from_hours(int64_t x, gpr_clock_type clock_type)
GPRAPI gpr_timespec gpr_time_0(gpr_clock_type type)
Time constants.
GPRAPI gpr_timespec gpr_time_min(gpr_timespec a, gpr_timespec b)
GPRAPI gpr_timespec gpr_now(gpr_clock_type clock)
Return the current time measured from the given clocks epoch.
GPRAPI gpr_timespec gpr_time_from_micros(int64_t x, gpr_clock_type clock_type)
Return a timespec representing a given number of time units.
GPRAPI gpr_timespec gpr_time_add(gpr_timespec a, gpr_timespec b)
Add and subtract times.
GPRAPI gpr_timespec gpr_time_from_seconds(int64_t x, gpr_clock_type clock_type)
Analogous to struct timespec.
Definition: gpr_types.h:47
gpr_clock_type
The clocks we support.
Definition: gpr_types.h:31
GPRAPI int32_t gpr_time_to_millis(gpr_timespec timespec)
GPRAPI int gpr_time_similar(gpr_timespec a, gpr_timespec b, gpr_timespec threshold)
Return 1 if two times are equal or within threshold of each other, 0 otherwise.