diff options
Diffstat (limited to 'toxcore/ping_array.c')
-rw-r--r-- | toxcore/ping_array.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/toxcore/ping_array.c b/toxcore/ping_array.c index 142640dd..9130254e 100644 --- a/toxcore/ping_array.c +++ b/toxcore/ping_array.c | |||
@@ -109,12 +109,12 @@ void ping_array_kill(Ping_Array *array) | |||
109 | 109 | ||
110 | /* Clear timed out entries. | 110 | /* Clear timed out entries. |
111 | */ | 111 | */ |
112 | static void ping_array_clear_timedout(Ping_Array *array) | 112 | static void ping_array_clear_timedout(Ping_Array *array, const Mono_Time *mono_time) |
113 | { | 113 | { |
114 | while (array->last_deleted != array->last_added) { | 114 | while (array->last_deleted != array->last_added) { |
115 | uint32_t index = array->last_deleted % array->total_size; | 115 | uint32_t index = array->last_deleted % array->total_size; |
116 | 116 | ||
117 | if (!is_timeout(array->entries[index].time, array->timeout)) { | 117 | if (!mono_time_is_timeout(mono_time, array->entries[index].time, array->timeout)) { |
118 | break; | 118 | break; |
119 | } | 119 | } |
120 | 120 | ||
@@ -128,9 +128,9 @@ static void ping_array_clear_timedout(Ping_Array *array) | |||
128 | * return ping_id on success. | 128 | * return ping_id on success. |
129 | * return 0 on failure. | 129 | * return 0 on failure. |
130 | */ | 130 | */ |
131 | uint64_t ping_array_add(Ping_Array *array, const uint8_t *data, uint32_t length) | 131 | uint64_t ping_array_add(Ping_Array *array, const Mono_Time *mono_time, const uint8_t *data, uint32_t length) |
132 | { | 132 | { |
133 | ping_array_clear_timedout(array); | 133 | ping_array_clear_timedout(array, mono_time); |
134 | uint32_t index = array->last_added % array->total_size; | 134 | uint32_t index = array->last_added % array->total_size; |
135 | 135 | ||
136 | if (array->entries[index].data != nullptr) { | 136 | if (array->entries[index].data != nullptr) { |
@@ -146,7 +146,7 @@ uint64_t ping_array_add(Ping_Array *array, const uint8_t *data, uint32_t length) | |||
146 | 146 | ||
147 | memcpy(array->entries[index].data, data, length); | 147 | memcpy(array->entries[index].data, data, length); |
148 | array->entries[index].length = length; | 148 | array->entries[index].length = length; |
149 | array->entries[index].time = unix_time(); | 149 | array->entries[index].time = mono_time_get(mono_time); |
150 | ++array->last_added; | 150 | ++array->last_added; |
151 | uint64_t ping_id = random_u64(); | 151 | uint64_t ping_id = random_u64(); |
152 | ping_id /= array->total_size; | 152 | ping_id /= array->total_size; |
@@ -169,7 +169,7 @@ uint64_t ping_array_add(Ping_Array *array, const uint8_t *data, uint32_t length) | |||
169 | * return length of data copied on success. | 169 | * return length of data copied on success. |
170 | * return -1 on failure. | 170 | * return -1 on failure. |
171 | */ | 171 | */ |
172 | int32_t ping_array_check(Ping_Array *array, uint8_t *data, size_t length, uint64_t ping_id) | 172 | int32_t ping_array_check(Ping_Array *array, const Mono_Time *mono_time, uint8_t *data, size_t length, uint64_t ping_id) |
173 | { | 173 | { |
174 | if (ping_id == 0) { | 174 | if (ping_id == 0) { |
175 | return -1; | 175 | return -1; |
@@ -181,7 +181,7 @@ int32_t ping_array_check(Ping_Array *array, uint8_t *data, size_t length, uint64 | |||
181 | return -1; | 181 | return -1; |
182 | } | 182 | } |
183 | 183 | ||
184 | if (is_timeout(array->entries[index].time, array->timeout)) { | 184 | if (mono_time_is_timeout(mono_time, array->entries[index].time, array->timeout)) { |
185 | return -1; | 185 | return -1; |
186 | } | 186 | } |
187 | 187 | ||