

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Libreria BackOffAlgorithm
<a name="backoffalgorithm-library"></a>

**Nota**  <a name="out-of-date-message"></a>
Il contenuto di questa pagina potrebbe non esserlo. up-to-date Consulta la [pagina della libreria di Freertos.org](https://www.freertos.org/Documentation/03-Libraries/01-Library-overview/01-All-libraries) per l'ultimo aggiornamento.

## Introduzione
<a name="freertos-boa-introduction"></a>

La libreria [BackoffAlgorithm](https://github.com/FreeRTOS/backoffAlgorithm) è una libreria di utilità che viene utilizzata per distanziare le ritrasmissioni ripetute dello stesso blocco di dati, per evitare la congestione della rete. [Questa libreria calcola il periodo di backoff necessario per riprovare le operazioni di rete (ad esempio una connessione di rete fallita con il server) utilizzando un algoritmo di backoff esponenziale con jitter.](https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/) 

Il backoff esponenziale con jitter viene in genere utilizzato quando si ritenta una connessione o una richiesta di rete non riuscita a un server a causa della congestione della rete o di carichi elevati sul server. Viene utilizzato per suddividere la tempistica delle richieste di nuovi tentativi create da più dispositivi che tentano di connettersi alla rete contemporaneamente. In un ambiente con scarsa connettività, un client può disconnettersi in qualsiasi momento; quindi una strategia di backoff aiuta anche il client a risparmiare la batteria evitando di tentare ripetutamente le riconnessioni quando è improbabile che abbiano successo. 

[https://en.wikipedia.org/wiki/ANSI_C#C90](https://en.wikipedia.org/wiki/ANSI_C#C90) La libreria non dipende da alcuna libreria aggiuntiva diversa dalla libreria C standard e non ha alcuna allocazione di heap, il che la rende adatta per i microcontrollori IoT, ma anche completamente portabile su altre piattaforme.

[Questa libreria può essere utilizzata liberamente ed è distribuita con la licenza open source MIT.](https://freertos.org/a00114.html)


****  

| Dimensione del codice di BackOffAlgorithm (esempio generato con GCC per ARM Cortex-M) | File | Con ottimizzazione -O1 | Con ottimizzazione -Os | 
| --- | --- | --- | --- | 
| backoff\$1algorithm.c | 0,1 K | 0,1 K | 
| Stime totali | 0,1 K | 0,1 K | 