Modifier for the dialog.
diff --git a/api/core/data/org.meshtastic.core.data.manager/-mesh-connection-manager-impl/-companion/index.html b/api/core/data/org.meshtastic.core.data.manager/-mesh-connection-manager-impl/-companion/index.html index 6704d33c63..68fbb46581 100644 --- a/api/core/data/org.meshtastic.core.data.manager/-mesh-connection-manager-impl/-companion/index.html +++ b/api/core/data/org.meshtastic.core.data.manager/-mesh-connection-manager-impl/-companion/index.html @@ -93,7 +93,7 @@
Synchronously cancels the transport-aware handshake watchdog the moment Stage 2 completes (NODE_INFO_NONCE received). Does NOT replicate onNodeDbReady's post-NodeDB side effects (analytics, MQTT start, history replay, telemetry requests) — those remain gated on onNodeDbReady at the end of the async DB install block.
See MeshConnectionManager.onHandshakeComplete for the full rationale.
Synchronously cancels the transport-aware handshake watchdog the moment Stage 2 completes (NODE_INFO_NONCE received). Does NOT replicate onNodeDbReady's post-NodeDB side effects (analytics, MQTT start, history replay, telemetry requests) — those remain gated on onNodeDbReady at the end of the async DB install block.
See MeshConnectionManager.onHandshakeComplete for the full rationale.
Immutable context carried with every frame admitted by this session.
Immutable context carried with every frame admitted by this session.
Immutable per-start transport identity. generation is bumped on every transport start (including same-address reconnect) so the SharedRadioInterfaceService and its consumers can discard state retained from a previous transport instance even when the selected address is unchanged.
Immutable per-start transport identity. generation is bumped on every transport start (including same-address reconnect) so the SharedRadioInterfaceService and its consumers can discard state retained from a previous transport instance even when the selected address is unchanged.
Per-frame ceiling, matching StreamFrameCodec.MAX_TO_FROM_RADIO_SIZE.
Duplicated rather than imported because core:service does not depend on core:network; the stream codec enforces the same number on its own path, and ATT caps BLE at the same value in practice.
Per-frame ceiling, matching StreamFrameCodec.MAX_TO_FROM_RADIO_SIZE.
Duplicated rather than imported because core:service does not depend on core:network; the stream codec enforces the same number on its own path, and ATT caps BLE at the same value in practice.
Capacity of the inbound frame queue.
Sized against the burst a connect produces, which is roughly 35 + 5N frames for a NodeDB of N nodes:
~35 fixed: my_info, metadata, ~10 config, ~14 moduleConfig, 8 channels, deviceui, config_complete.
N thin NodeInfo frames — one per hot-store node. Warm-tier entries (firmware WARM_NODE_COUNT, up to 2000 on a native host) are identity-only records for evicted nodes and are NOT streamed to the phone, so they do not contribute here.
Up to 4N more from the post-config_complete replay drain, which re-sends stored position, telemetry, environment and status as ordinary mesh packets — one of each per node.
N is firmware MAX_NUM_NODES: 250 on portduino/native-host and top-tier ESP32-S3, 120 on nRF52840 and generic ESP32, 10 on STM32WL. So the realistic worst case is a Linux/Pi node at N=250 → ~1285 frames, and those arrive over TCP, the transport most able to outrun the consumer. 8192 keeps roughly 6x headroom over that; a custom build raising MAX_NUM_NODES past ~1630 would need this raised too.
Memory stays bounded at capacity x frame size. On the stream transports a frame cannot exceed StreamFrameCodec.MAX_TO_FROM_RADIO_SIZE (512 B); the BLE path passes through whatever the GATT read returned, which ATT caps at 512 B in practice rather than by anything enforced here. A thin NodeInfo is closer to 100 B, so the realistic ceiling is well under the ~4 MB absolute worst case.
Capacity of the inbound frame queue.
Sized against the burst a connect produces, which is roughly 35 + 5N frames for a NodeDB of N nodes:
~35 fixed: my_info, metadata, ~10 config, ~14 moduleConfig, 8 channels, deviceui, config_complete.
N thin NodeInfo frames — one per hot-store node. Warm-tier entries (firmware WARM_NODE_COUNT, up to 2000 on a native host) are identity-only records for evicted nodes and are NOT streamed to the phone, so they do not contribute here.
Up to 4N more from the post-config_complete replay drain, which re-sends stored position, telemetry, environment and status as ordinary mesh packets — one of each per node.
N is firmware MAX_NUM_NODES: 250 on portduino/native-host and top-tier ESP32-S3, 120 on nRF52840 and generic ESP32, 10 on STM32WL. So the realistic worst case is a Linux/Pi node at N=250 → ~1285 frames, and those arrive over TCP, the transport most able to outrun the consumer. 8192 keeps roughly 6x headroom over that; a custom build raising MAX_NUM_NODES past ~1630 would need this raised too.
Memory stays bounded at capacity x frame size. On the stream transports a frame cannot exceed StreamFrameCodec.MAX_TO_FROM_RADIO_SIZE (512 B); the BLE path passes through whatever the GATT read returned, which ATT caps at 512 B in practice rather than by anything enforced here. A thin NodeInfo is closer to 100 B, so the realistic ceiling is well under the ~4 MB absolute worst case.
Shared multiplatform connection orchestrator for Meshtastic radios.
Manages the connection lifecycle (connect, active, disconnect, reconnect loop), device address state flows, and hardware state observability (BLE/Network toggles). Delegates the actual raw byte transport mapping to a platform-specific RadioTransportFactory.
Shared multiplatform connection orchestrator for Meshtastic radios.
Manages the connection lifecycle (connect, active, disconnect, reconnect loop), device address state flows, and hardware state observability (BLE/Network toggles). Delegates the actual raw byte transport mapping to a platform-specific RadioTransportFactory.
A comprehensive and flexible dialog component for the Meshtastic application.
Modifier for the dialog.
The title text of the dialog.
The title string resource of the dialog.
Optional plain text message.
Optional string resource message.
Optional color for the plain text message; Color.Unspecified uses the default text color.
Optional HTML formatted message.
Optional leading icon.
Optional custom composable content for the body.
Text for the confirmation button.
String resource for the confirmation button.
Callback for the confirmation button.
Text for the dismiss button.
String resource for the dismiss button.
Callback for when the dialog is dismissed or the dismiss button is clicked.
If provided, displays a list of buttons instead of the standard confirm/dismiss actions.
Whether the dialog can be dismissed by clicking outside or pressing back.
A comprehensive and flexible dialog component for the Meshtastic application.
Modifier for the dialog.
The title text of the dialog.
The title string resource of the dialog.
Optional plain text message.
Optional string resource message.
Optional color for the plain text message; Color.Unspecified uses the default text color.
Optional HTML formatted message.
Optional leading icon.
Optional custom composable content for the body.
Text for the confirmation button.
String resource for the confirmation button.
Callback for the confirmation button.
Text for the dismiss button.
String resource for the dismiss button.
Callback for when the dialog is dismissed or the dismiss button is clicked.
If provided, displays a list of buttons instead of the standard confirm/dismiss actions.
Whether the dialog can be dismissed by clicking outside or pressing back.