Electroneum
Toggle main menu visibility
Loading...
Searching...
No Matches
rtt.h
Go to the documentation of this file.
1
/*
2
* util/rtt.h - UDP round trip time estimator for resend timeouts.
3
*
4
* Copyright (c) 2007, NLnet Labs. All rights reserved.
5
*
6
* This software is open source.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions
10
* are met:
11
*
12
* Redistributions of source code must retain the above copyright notice,
13
* this list of conditions and the following disclaimer.
14
*
15
* Redistributions in binary form must reproduce the above copyright notice,
16
* this list of conditions and the following disclaimer in the documentation
17
* and/or other materials provided with the distribution.
18
*
19
* Neither the name of the NLNET LABS nor the names of its contributors may
20
* be used to endorse or promote products derived from this software without
21
* specific prior written permission.
22
*
23
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
27
* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
29
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
30
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
31
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
32
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
*/
35
42
43
#ifndef UTIL_RTT_H
44
#define UTIL_RTT_H
45
49
struct
rtt_info
{
51
int
srtt
;
53
int
rttvar
;
55
int
rto
;
56
};
57
59
extern
int
RTT_MIN_TIMEOUT
;
61
#define RTT_MAX_TIMEOUT 120000
62
67
void
rtt_init
(
struct
rtt_info
* rtt);
68
74
int
rtt_timeout
(
const
struct
rtt_info
* rtt);
75
82
int
rtt_unclamped
(
const
struct
rtt_info
* rtt);
83
89
int
rtt_notimeout
(
const
struct
rtt_info
* rtt);
90
96
void
rtt_update
(
struct
rtt_info
* rtt,
int
ms);
97
105
void
rtt_lost
(
struct
rtt_info
* rtt,
int
orig);
106
107
#endif
/* UTIL_RTT_H */
rtt_notimeout
int rtt_notimeout(const struct rtt_info *rtt)
rtt_lost
void rtt_lost(struct rtt_info *rtt, int orig)
rtt_unclamped
int rtt_unclamped(const struct rtt_info *rtt)
rtt_init
void rtt_init(struct rtt_info *rtt)
rtt_timeout
int rtt_timeout(const struct rtt_info *rtt)
rtt_update
void rtt_update(struct rtt_info *rtt, int ms)
RTT_MIN_TIMEOUT
int RTT_MIN_TIMEOUT
rtt_info
Definition
rtt.h:49
rtt_info::rttvar
int rttvar
Definition
rtt.h:53
rtt_info::rto
int rto
Definition
rtt.h:55
rtt_info::srtt
int srtt
Definition
rtt.h:51
external
unbound
util
rtt.h
Generated on
for Electroneum by
1.17.0