1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-29 00:11:16 +01:00

Merge pull request #11784 from miri64/gcoap/fix/ack-variance-0

gcoap: don't call random_uint32_range() when COAP_ACK_VARIANCE=0
This commit is contained in:
Ken Bannister 2019-08-02 05:10:45 -04:00 committed by GitHub
commit 28317019fc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -135,8 +135,10 @@ static void *_event_loop(void *arg)
memo->send_limit--;
unsigned i = COAP_MAX_RETRANSMIT - memo->send_limit;
uint32_t timeout = ((uint32_t)COAP_ACK_TIMEOUT << i) * US_PER_SEC;
#if COAP_ACK_VARIANCE > 0
uint32_t variance = ((uint32_t)COAP_ACK_VARIANCE << i) * US_PER_SEC;
timeout = random_uint32_range(timeout, timeout + variance);
#endif
ssize_t bytes = sock_udp_send(&_sock, memo->msg.data.pdu_buf,
memo->msg.data.pdu_len,
@ -757,8 +759,10 @@ size_t gcoap_req_send(const uint8_t *buf, size_t len,
if (memo->msg.data.pdu_buf) {
memo->send_limit = COAP_MAX_RETRANSMIT;
timeout = (uint32_t)COAP_ACK_TIMEOUT * US_PER_SEC;
#if COAP_ACK_VARIANCE > 0
uint32_t variance = (uint32_t)COAP_ACK_VARIANCE * US_PER_SEC;
timeout = random_uint32_range(timeout, timeout + variance);
#endif
}
else {
memo->state = GCOAP_MEMO_UNUSED;