backoffAlgorithm 库 - FreeRTOS
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

backoffAlgorithm 库

Introduction

backoffAlgorithm 库是一个实用程序库,用于阻止重复重新传输同一数据块,以避免网络拥塞。此库计算使用 指数退避和抖动算法重试网络操作(如与服务器的网络连接失败)的退避期间。

当 重试因网络拥塞或服务器上高负载导致的针对服务器的失败连接或网络请求时,通常会使用带抖动的指数回退。它用于扩展由同时尝试网络连接的多个设备创建的重试请求的计时。在连接信号较弱的环境中,客户端可能随时断开连接;因此退避策略还通过在不太可能成功时不反复尝试重新连接来帮助客户端节省电池。

该库用 C 编写,并且设计为符合 ISO C90MISRA C:2012 的要求。该库不依赖除标准 C 库之外的任何其他库,并且没有堆分配,因此它适用于 IoT 微控制器,但对其他平台也完全可移植。

该库可以免费使用,并根据 MIT 开源许可分发。

----------------------------------------------------------------------- | Code Size of backoffAlgorithm | | (example generated with GCC for ARM Cortex-M) | |---------------------------------------------------------------------| | File | With -O1 Optimisation | With -Os Optimisation | |---------------------|-----------------------|-----------------------| | backoff_algorithm.c | 0.1K | 0.1K | |---------------------|-----------------------|-----------------------| | Total estimate | 0.1K | 0.1K | -----------------------------------------------------------------------