RIL 多目标网络探测执行器
More...
#include <pthread.h>
#include <stdatomic.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include "ril_config.h"
Go to the source code of this file.
|
|
#define | RIL_PROBE_TIMEOUT_MAX_MS 60000U |
| | 单目标网络探测的最大超时,单位毫秒
|
RIL 多目标网络探测执行器
- Version
- 1.0.0
- Date
- 2026-07-17
- Copyright
- Copyright © 2026 Shenzhen One IOT World Co., Ltd. All rights reserved.
◆ ril_probe_address_deadline()
| uint64_t ril_probe_address_deadline |
( |
uint64_t | now_ms, |
|
|
uint64_t | deadline_ms, |
|
|
size_t | remaining_addresses ) |
为当前地址分配本目标剩余时间中的公平份额。
- Parameters
-
| now_ms | 当前单调时钟毫秒数。 |
| deadline_ms | 本目标的总截止时间。 |
| remaining_addresses | 包含当前地址的剩余地址数量。 |
- Returns
- 当前地址的截止时间。
◆ ril_probe_bind_error_is_unavailable()
| bool ril_probe_bind_error_is_unavailable |
( |
int | error_code | ) |
|
判断接口绑定错误是否表示当前探测不可执行。
- Parameters
-
- Returns
- 权限不足或接口不存在返回 true,否则返回 false。
◆ ril_probe_bind_interface()
| int ril_probe_bind_interface |
( |
int | fd, |
|
|
const char * | ifname ) |
将探测 socket 绑定到指定网络接口。
- Note
- 生产实现使用 SO_BINDTODEVICE;单元测试可替换此弱符号。
◆ ril_probe_collect()
非阻塞收集一轮网络探测结果。
- Parameters
-
| probe | 探测执行器。 |
| result | 输出探测结果。 |
- Returns
- TBOX_OK 成功;暂无结果返回 TBOX_ERROR_AGAIN;其他值失败。
◆ ril_probe_deinit()
停止工作线程并释放同步资源。
- Parameters
-
◆ ril_probe_init()
初始化可选的单个网络探测工作线程。
probe_count 为 0 时不创建线程或同步对象。
- Parameters
-
| probe | 输出探测执行器。 |
| config | 不可变启动配置。 |
| ops | 线程和执行操作;NULL 使用系统实现。 |
- Returns
- TBOX_OK 成功,其他值失败。
◆ ril_probe_schedule()
复制并调度一轮 APN 网络探测。
- Parameters
-
- Returns
- TBOX_OK 成功,其他值失败。
◆ ril_probe_targets_are_healthy()
| bool ril_probe_targets_are_healthy |
( |
uint8_t | executed_count, |
|
|
uint8_t | succeeded_count ) |
判断一轮中是否至少有一个目标成功。
- Parameters
-
| executed_count | 已执行目标数量。 |
| succeeded_count | 成功目标数量。 |
- Returns
- 存在成功目标且计数有效返回 true,否则返回 false。