mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-09-18 09:05:16 -04:00
docs: publish channels: main api
This commit is contained in:
1 parent
b7f83b8bfb
commit
f2c2b7250a
24 files changed
+24
-24
No files matched your search
+1
-1
@@ -94,7 +94,7 @@
|
||||
<div class="cover ">
|
||||
<h1 class="cover"><span>Ble</span><wbr><span>Radio</span><wbr><span><span>Transport</span></span></h1>
|
||||
</div>
|
||||
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/commonMain"><div class="symbol monospace"><span class="token keyword">constructor</span><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token punctuation">, </span></span><span class="parameter ">scanner<span class="token operator">: </span><a href="../../../../core/ble/org.meshtastic.core.ble/-ble-scanner/index.html">BleScanner</a><span class="token punctuation">, </span></span><span class="parameter ">bluetoothRepository<span class="token operator">: </span><a href="../../../../core/ble/org.meshtastic.core.ble/-bluetooth-repository/index.html">BluetoothRepository</a><span class="token punctuation">, </span></span><span class="parameter ">connectionFactory<span class="token operator">: </span><a href="../../../../core/ble/org.meshtastic.core.ble/-ble-connection-factory/index.html">BleConnectionFactory</a><span class="token punctuation">, </span></span><span class="parameter ">callback<span class="token operator">: </span><a href="../../../../core/repository/org.meshtastic.core.repository/-radio-transport-callback/index.html">RadioTransportCallback</a><span class="token punctuation">, </span></span><span class="parameter ">address<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a></span></span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/commonMain/kotlin/org/meshtastic/core/network/radio/BleRadioTransport.kt#L161">source</a>)</span></span></div><h4 class="tableheader">Parameters</h4><div class="table"><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>scope</span></span></u></div></span></div><div><div class="title"><p class="paragraph">The coroutine scope to use for launching coroutines.</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>scanner</span></span></u></div></span></div><div><div class="title"><p class="paragraph">The BLE scanner.</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>bluetooth</span><wbr><span><span>Repository</span></span></u></div></span></div><div><div class="title"><p class="paragraph">The Bluetooth repository.</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>connection</span><wbr><span><span>Factory</span></span></u></div></span></div><div><div class="title"><p class="paragraph">The BLE connection factory.</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>callback</span></span></u></div></span></div><div><div class="title"><p class="paragraph">The <a href="../../../../core/repository/org.meshtastic.core.repository/-radio-transport-callback/index.html">RadioTransportCallback</a> to use for handling radio events.</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>address</span></span></u></div></span></div><div><div class="title"><p class="paragraph">The BLE address of the device to connect to.</p></div></div></div></div></div></div></div>
|
||||
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/commonMain"><div class="symbol monospace"><span class="token keyword">constructor</span><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token punctuation">, </span></span><span class="parameter ">scanner<span class="token operator">: </span><a href="../../../../core/ble/org.meshtastic.core.ble/-ble-scanner/index.html">BleScanner</a><span class="token punctuation">, </span></span><span class="parameter ">bluetoothRepository<span class="token operator">: </span><a href="../../../../core/ble/org.meshtastic.core.ble/-bluetooth-repository/index.html">BluetoothRepository</a><span class="token punctuation">, </span></span><span class="parameter ">connectionFactory<span class="token operator">: </span><a href="../../../../core/ble/org.meshtastic.core.ble/-ble-connection-factory/index.html">BleConnectionFactory</a><span class="token punctuation">, </span></span><span class="parameter ">callback<span class="token operator">: </span><a href="../../../../core/repository/org.meshtastic.core.repository/-radio-transport-callback/index.html">RadioTransportCallback</a><span class="token punctuation">, </span></span><span class="parameter ">address<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a></span></span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/commonMain/kotlin/org/meshtastic/core/network/radio/BleRadioTransport.kt#L146">source</a>)</span></span></div><h4 class="tableheader">Parameters</h4><div class="table"><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>scope</span></span></u></div></span></div><div><div class="title"><p class="paragraph">The coroutine scope to use for launching coroutines.</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>scanner</span></span></u></div></span></div><div><div class="title"><p class="paragraph">The BLE scanner.</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>bluetooth</span><wbr><span><span>Repository</span></span></u></div></span></div><div><div class="title"><p class="paragraph">The Bluetooth repository.</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>connection</span><wbr><span><span>Factory</span></span></u></div></span></div><div><div class="title"><p class="paragraph">The BLE connection factory.</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>callback</span></span></u></div></span></div><div><div class="title"><p class="paragraph">The <a href="../../../../core/repository/org.meshtastic.core.repository/-radio-transport-callback/index.html">RadioTransportCallback</a> to use for handling radio events.</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>address</span></span></u></div></span></div><div><div class="title"><p class="paragraph">The BLE address of the device to connect to.</p></div></div></div></div></div></div></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="footer--container">
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
<div class="cover ">
|
||||
<h1 class="cover"><span><span>close</span></span></h1>
|
||||
</div>
|
||||
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/commonMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">suspend override </span><span class="token keyword">fun </span><a href="close.html"><span class="token function">close</span></a><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/commonMain/kotlin/org/meshtastic/core/network/radio/BleRadioTransport.kt#L850">source</a>)</span></span></div><p class="paragraph">Closes the connection to the device.</p></div></div>
|
||||
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/commonMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">suspend override </span><span class="token keyword">fun </span><a href="close.html"><span class="token function">close</span></a><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/commonMain/kotlin/org/meshtastic/core/network/radio/BleRadioTransport.kt#L820">source</a>)</span></span></div><p class="paragraph">Closes the connection to the device.</p></div></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="footer--container">
|
||||
|
||||
+1
-1
@@ -94,7 +94,7 @@
|
||||
<div class="cover ">
|
||||
<h1 class="cover"><span>handle</span><wbr><span>Send</span><wbr><span>To</span><wbr><span><span>Radio</span></span></h1>
|
||||
</div>
|
||||
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/commonMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="handle-send-to-radio.html"><span class="token function">handleSendToRadio</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">p<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte-array/index.html">ByteArray</a></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/commonMain/kotlin/org/meshtastic/core/network/radio/BleRadioTransport.kt#L771">source</a>)</span></span></div><p class="paragraph">Sends a packet to the radio with retry support.</p><p class="paragraph">Write-failure policy: any non-cancellation exception from a failed write (after exhausting <a href="../../../../core/ble/org.meshtastic.core.ble/index.html">retryBleOperation</a> retries) is treated as fatal to the current BLE session. Production logs show long-running sessions eventually failing writes with NotConnectedException after hundreds of successful writes — by that point the GATT handle is stale and retrying in-place cannot recover. Calling <a href="../../../../core/network/org.meshtastic.core.network.radio/-ble-radio-transport/handle-failure.html">handleFailure</a> forces a full GATT teardown + reconnect cycle, which is the only reliable recovery for a dead session. Transient single-write blips are absorbed by <a href="../../../../core/ble/org.meshtastic.core.ble/index.html">retryBleOperation</a>'s 3-attempt retry before reaching this catch.</p><span class="kdoc-tag"><h4 class="">Return</h4><p class="paragraph">true when the current BLE profile generation accepted responsibility for the bounded write attempt. Delivery is confirmed later by the protocol, not by this result.</p></span><h4 class="tableheader">Parameters</h4><div class="table"><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>p</span></span></u></div></span></div><div><div class="title"><p class="paragraph">The packet to send.</p></div></div></div></div></div></div></div>
|
||||
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/commonMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="handle-send-to-radio.html"><span class="token function">handleSendToRadio</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">p<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte-array/index.html">ByteArray</a></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/commonMain/kotlin/org/meshtastic/core/network/radio/BleRadioTransport.kt#L737">source</a>)</span></span></div><p class="paragraph">Sends a packet to the radio with retry support.</p><p class="paragraph">Write-failure policy: any non-cancellation exception from a failed write (after exhausting <a href="../../../../core/ble/org.meshtastic.core.ble/index.html">retryBleOperation</a> retries) is treated as fatal to the current BLE session. Production logs show long-running sessions eventually failing writes with NotConnectedException after hundreds of successful writes — by that point the GATT handle is stale and retrying in-place cannot recover. Calling <a href="../../../../core/network/org.meshtastic.core.network.radio/-ble-radio-transport/handle-failure.html">handleFailure</a> forces a full GATT teardown + reconnect cycle, which is the only reliable recovery for a dead session. Transient single-write blips are absorbed by <a href="../../../../core/ble/org.meshtastic.core.ble/index.html">retryBleOperation</a>'s 3-attempt retry before reaching this catch.</p><span class="kdoc-tag"><h4 class="">Return</h4><p class="paragraph">true when the current BLE profile generation accepted responsibility for the bounded write attempt. Delivery is confirmed later by the protocol, not by this result.</p></span><h4 class="tableheader">Parameters</h4><div class="table"><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>p</span></span></u></div></span></div><div><div class="title"><p class="paragraph">The packet to send.</p></div></div></div></div></div></div></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="footer--container">
|
||||
|
||||
File diff suppressed because one or more lines are too long.
+1
-1
@@ -94,7 +94,7 @@
|
||||
<div class="cover ">
|
||||
<h1 class="cover"><span>keep</span><wbr><span><span>Alive</span></span></h1>
|
||||
</div>
|
||||
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/commonMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="keep-alive.html"><span class="token function">keepAlive</span></a><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/commonMain/kotlin/org/meshtastic/core/network/radio/BleRadioTransport.kt#L842">source</a>)</span></span></div></div></div>
|
||||
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/commonMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="keep-alive.html"><span class="token function">keepAlive</span></a><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/commonMain/kotlin/org/meshtastic/core/network/radio/BleRadioTransport.kt#L812">source</a>)</span></span></div></div></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="footer--container">
|
||||
|
||||
+1
-1
@@ -96,7 +96,7 @@
|
||||
</div>
|
||||
<div class="platform-hinted with-platform-tabs" data-platform-hinted="data-platform-hinted">
|
||||
<div class="platform-bookmarks-row" data-toggle-list="data-toggle-list"><button class="platform-bookmark" data-filterable-current=":core:network/androidMain" data-filterable-set=":core:network/androidMain" data-active="" data-toggle=":core:network/androidMain">android</button></div>
|
||||
<div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/androidMain"><div class="symbol monospace"><span class="token keyword">constructor</span><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">callback<span class="token operator">: </span><a href="../../../../core/repository/org.meshtastic.core.repository/-radio-transport-callback/index.html">RadioTransportCallback</a><span class="token punctuation">, </span></span><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token punctuation">, </span></span><span class="parameter ">serialDevices<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/StateFlow///PointingToDeclaration/">StateFlow</span><span class="token operator"><</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html">Map</a><span class="token operator"><</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">, </span><span data-unresolved-link="com.hoho.android.usbserial.driver/UsbSerialDriver///PointingToDeclaration/">UsbSerialDriver</span><span class="token operator">></span><span class="token operator">></span><span class="token punctuation">, </span></span><span class="parameter ">createSerialConnection<span class="token operator">: </span><span class="token punctuation">(</span><span data-unresolved-link="com.hoho.android.usbserial.driver/UsbSerialDriver///PointingToDeclaration/">UsbSerialDriver</span><span class="token punctuation">, </span><a href="../../org.meshtastic.core.network.repository/-serial-connection-listener/index.html">SerialConnectionListener</a><span class="token punctuation">)</span><span class="token operator"> -> </span><a href="../../org.meshtastic.core.network.repository/-serial-connection/index.html">SerialConnection</a><span class="token punctuation">, </span></span><span class="parameter ">address<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a></span></span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/androidMain/kotlin/org/meshtastic/core/network/radio/SerialRadioTransport.kt#L55">source</a>)</span></span></div></div> </div>
|
||||
<div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/androidMain"><div class="symbol monospace"><span class="token keyword">constructor</span><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">callback<span class="token operator">: </span><a href="../../../../core/repository/org.meshtastic.core.repository/-radio-transport-callback/index.html">RadioTransportCallback</a><span class="token punctuation">, </span></span><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token punctuation">, </span></span><span class="parameter ">serialDevices<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/StateFlow///PointingToDeclaration/">StateFlow</span><span class="token operator"><</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html">Map</a><span class="token operator"><</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">, </span><span data-unresolved-link="com.hoho.android.usbserial.driver/UsbSerialDriver///PointingToDeclaration/">UsbSerialDriver</span><span class="token operator">></span><span class="token operator">></span><span class="token punctuation">, </span></span><span class="parameter ">createSerialConnection<span class="token operator">: </span><span class="token punctuation">(</span><span data-unresolved-link="com.hoho.android.usbserial.driver/UsbSerialDriver///PointingToDeclaration/">UsbSerialDriver</span><span class="token punctuation">, </span><a href="../../org.meshtastic.core.network.repository/-serial-connection-listener/index.html">SerialConnectionListener</a><span class="token punctuation">)</span><span class="token operator"> -> </span><a href="../../org.meshtastic.core.network.repository/-serial-connection/index.html">SerialConnection</a><span class="token punctuation">, </span></span><span class="parameter ">address<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a></span></span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/androidMain/kotlin/org/meshtastic/core/network/radio/SerialRadioTransport.kt#L56">source</a>)</span></span></div></div> </div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="footer--container">
|
||||
|
||||
+1
-1
@@ -96,7 +96,7 @@
|
||||
</div>
|
||||
<div class="platform-hinted with-platform-tabs" data-platform-hinted="data-platform-hinted">
|
||||
<div class="platform-bookmarks-row" data-toggle-list="data-toggle-list"><button class="platform-bookmark" data-filterable-current=":core:network/androidMain" data-filterable-set=":core:network/androidMain" data-active="" data-toggle=":core:network/androidMain">android</button></div>
|
||||
<div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/androidMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">suspend override </span><span class="token keyword">fun </span><a href="close.html"><span class="token function">close</span></a><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/androidMain/kotlin/org/meshtastic/core/network/radio/SerialRadioTransport.kt#L107">source</a>)</span></span></div><p class="paragraph">Closes admission and lets already-admitted frames finish before cancelling the worker as a bounded fallback.</p><p class="paragraph">A forced cancellation can interrupt a frame mid-write, so <a href="../../../../core/network/org.meshtastic.core.network.radio/-stream-transport/close.html">close</a> is terminal for the underlying stream: a subclass must close or replace that stream before another transport instance writes to it.</p></div> </div>
|
||||
<div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/androidMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">suspend override </span><span class="token keyword">fun </span><a href="close.html"><span class="token function">close</span></a><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/androidMain/kotlin/org/meshtastic/core/network/radio/SerialRadioTransport.kt#L116">source</a>)</span></span></div><p class="paragraph">Closes admission and lets already-admitted frames finish before cancelling the worker as a bounded fallback.</p><p class="paragraph">A forced cancellation can interrupt a frame mid-write, so <a href="../../../../core/network/org.meshtastic.core.network.radio/-stream-transport/close.html">close</a> is terminal for the underlying stream: a subclass must close or replace that stream before another transport instance writes to it.</p></div> </div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="footer--container">
|
||||
|
||||
+1
-1
@@ -96,7 +96,7 @@
|
||||
</div>
|
||||
<div class="platform-hinted with-platform-tabs" data-platform-hinted="data-platform-hinted">
|
||||
<div class="platform-bookmarks-row" data-toggle-list="data-toggle-list"><button class="platform-bookmark" data-filterable-current=":core:network/androidMain" data-filterable-set=":core:network/androidMain" data-active="" data-toggle=":core:network/androidMain">android</button></div>
|
||||
<div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/androidMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="handle-send-to-radio.html"><span class="token function">handleSendToRadio</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">p<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte-array/index.html">ByteArray</a></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/androidMain/kotlin/org/meshtastic/core/network/radio/SerialRadioTransport.kt#L466">source</a>)</span></span></div></div> </div>
|
||||
<div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/androidMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="handle-send-to-radio.html"><span class="token function">handleSendToRadio</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">p<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte-array/index.html">ByteArray</a></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/androidMain/kotlin/org/meshtastic/core/network/radio/SerialRadioTransport.kt#L475">source</a>)</span></span></div></div> </div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="footer--container">
|
||||
|
||||
+1
-1
@@ -95,7 +95,7 @@
|
||||
<h1 class="cover"><span>Serial</span><wbr><span>Radio</span><wbr><span><span>Transport</span></span></h1>
|
||||
<div class="platform-hinted with-platform-tabs" data-platform-hinted="data-platform-hinted">
|
||||
<div class="platform-bookmarks-row" data-toggle-list="data-toggle-list"><button class="platform-bookmark" data-filterable-current=":core:network/androidMain" data-filterable-set=":core:network/androidMain" data-active="" data-toggle=":core:network/androidMain">android</button></div>
|
||||
<div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/androidMain"><div class="symbol monospace"><span class="token keyword">class </span><a href="index.html">SerialRadioTransport</a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">callback<span class="token operator">: </span><a href="../../../../core/repository/org.meshtastic.core.repository/-radio-transport-callback/index.html">RadioTransportCallback</a><span class="token punctuation">, </span></span><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token punctuation">, </span></span><span class="parameter ">serialDevices<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/StateFlow///PointingToDeclaration/">StateFlow</span><span class="token operator"><</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html">Map</a><span class="token operator"><</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">, </span><span data-unresolved-link="com.hoho.android.usbserial.driver/UsbSerialDriver///PointingToDeclaration/">UsbSerialDriver</span><span class="token operator">></span><span class="token operator">></span><span class="token punctuation">, </span></span><span class="parameter ">createSerialConnection<span class="token operator">: </span><span class="token punctuation">(</span><span data-unresolved-link="com.hoho.android.usbserial.driver/UsbSerialDriver///PointingToDeclaration/">UsbSerialDriver</span><span class="token punctuation">, </span><a href="../../org.meshtastic.core.network.repository/-serial-connection-listener/index.html">SerialConnectionListener</a><span class="token punctuation">)</span><span class="token operator"> -> </span><a href="../../org.meshtastic.core.network.repository/-serial-connection/index.html">SerialConnection</a><span class="token punctuation">, </span></span><span class="parameter ">address<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a></span></span><span class="token punctuation">)</span> : <a href="../../../../core/network/org.meshtastic.core.network.radio/-stream-transport/index.html">StreamTransport</a><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/androidMain/kotlin/org/meshtastic/core/network/radio/SerialRadioTransport.kt#L55">source</a>)</span></span></div><p class="paragraph">An Android USB/serial RadioTransport implementation.</p></div> </div>
|
||||
<div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/androidMain"><div class="symbol monospace"><span class="token keyword">class </span><a href="index.html">SerialRadioTransport</a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">callback<span class="token operator">: </span><a href="../../../../core/repository/org.meshtastic.core.repository/-radio-transport-callback/index.html">RadioTransportCallback</a><span class="token punctuation">, </span></span><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token punctuation">, </span></span><span class="parameter ">serialDevices<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/StateFlow///PointingToDeclaration/">StateFlow</span><span class="token operator"><</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html">Map</a><span class="token operator"><</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">, </span><span data-unresolved-link="com.hoho.android.usbserial.driver/UsbSerialDriver///PointingToDeclaration/">UsbSerialDriver</span><span class="token operator">></span><span class="token operator">></span><span class="token punctuation">, </span></span><span class="parameter ">createSerialConnection<span class="token operator">: </span><span class="token punctuation">(</span><span data-unresolved-link="com.hoho.android.usbserial.driver/UsbSerialDriver///PointingToDeclaration/">UsbSerialDriver</span><span class="token punctuation">, </span><a href="../../org.meshtastic.core.network.repository/-serial-connection-listener/index.html">SerialConnectionListener</a><span class="token punctuation">)</span><span class="token operator"> -> </span><a href="../../org.meshtastic.core.network.repository/-serial-connection/index.html">SerialConnection</a><span class="token punctuation">, </span></span><span class="parameter ">address<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a></span></span><span class="token punctuation">)</span> : <a href="../../../../core/network/org.meshtastic.core.network.radio/-stream-transport/index.html">StreamTransport</a><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/androidMain/kotlin/org/meshtastic/core/network/radio/SerialRadioTransport.kt#L56">source</a>)</span></span></div><p class="paragraph">An Android USB/serial RadioTransport implementation.</p></div> </div>
|
||||
</div>
|
||||
<div class="tabbedcontent">
|
||||
<div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="CONSTRUCTOR,TYPE,PROPERTY,FUNCTION">Members</button></div>
|
||||
|
||||
+1
-1
@@ -96,7 +96,7 @@
|
||||
</div>
|
||||
<div class="platform-hinted with-platform-tabs" data-platform-hinted="data-platform-hinted">
|
||||
<div class="platform-bookmarks-row" data-toggle-list="data-toggle-list"><button class="platform-bookmark" data-filterable-current=":core:network/androidMain" data-filterable-set=":core:network/androidMain" data-active="" data-toggle=":core:network/androidMain">android</button></div>
|
||||
<div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/androidMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="keep-alive.html"><span class="token function">keepAlive</span></a><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/androidMain/kotlin/org/meshtastic/core/network/radio/SerialRadioTransport.kt#L500">source</a>)</span></span></div></div> </div>
|
||||
<div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/androidMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="keep-alive.html"><span class="token function">keepAlive</span></a><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/androidMain/kotlin/org/meshtastic/core/network/radio/SerialRadioTransport.kt#L515">source</a>)</span></span></div></div> </div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="footer--container">
|
||||
|
||||
+1
-1
@@ -96,7 +96,7 @@
|
||||
</div>
|
||||
<div class="platform-hinted with-platform-tabs" data-platform-hinted="data-platform-hinted">
|
||||
<div class="platform-bookmarks-row" data-toggle-list="data-toggle-list"><button class="platform-bookmark" data-filterable-current=":core:network/androidMain" data-filterable-set=":core:network/androidMain" data-active="" data-toggle=":core:network/androidMain">android</button></div>
|
||||
<div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/androidMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="send-bytes.html"><span class="token function">sendBytes</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">p<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte-array/index.html">ByteArray</a></span></span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/androidMain/kotlin/org/meshtastic/core/network/radio/SerialRadioTransport.kt#L504">source</a>)</span></span></div><p class="paragraph">Writes raw bytes to the underlying stream (serial port, TCP socket, etc.). Implementations may block until the driver accepts the bytes, so direct callers must already be running on an I/O dispatcher. Framed packet sends use <a href="../../../../core/network/org.meshtastic.core.network.radio/-stream-transport/queue-framed-send.html">queueFramedSend</a>, whose writer controls dispatcher confinement. Subclasses that rely on <a href="../../../../core/network/org.meshtastic.core.network.radio/-stream-transport/queue-framed-send.html">queueFramedSend</a>'s default writer must therefore supply an I/O-confined <a href="../../../../core/network/org.meshtastic.core.network.radio/-stream-transport/--root--.html">scope</a>.</p></div> </div>
|
||||
<div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/androidMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="send-bytes.html"><span class="token function">sendBytes</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">p<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte-array/index.html">ByteArray</a></span></span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/androidMain/kotlin/org/meshtastic/core/network/radio/SerialRadioTransport.kt#L519">source</a>)</span></span></div><p class="paragraph">Writes raw bytes to the underlying stream (serial port, TCP socket, etc.). Implementations may block until the driver accepts the bytes, so direct callers must already be running on an I/O dispatcher. Framed packet sends use <a href="../../../../core/network/org.meshtastic.core.network.radio/-stream-transport/queue-framed-send.html">queueFramedSend</a>, whose writer controls dispatcher confinement. Subclasses that rely on <a href="../../../../core/network/org.meshtastic.core.network.radio/-stream-transport/queue-framed-send.html">queueFramedSend</a>'s default writer must therefore supply an I/O-confined <a href="../../../../core/network/org.meshtastic.core.network.radio/-stream-transport/--root--.html">scope</a>.</p></div> </div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="footer--container">
|
||||
|
||||
+1
-1
@@ -96,7 +96,7 @@
|
||||
</div>
|
||||
<div class="platform-hinted with-platform-tabs" data-platform-hinted="data-platform-hinted">
|
||||
<div class="platform-bookmarks-row" data-toggle-list="data-toggle-list"><button class="platform-bookmark" data-filterable-current=":core:network/androidMain" data-filterable-set=":core:network/androidMain" data-active="" data-toggle=":core:network/androidMain">android</button></div>
|
||||
<div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/androidMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="start.html"><span class="token function">start</span></a><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/androidMain/kotlin/org/meshtastic/core/network/radio/SerialRadioTransport.kt#L105">source</a>)</span></span></div></div> </div>
|
||||
<div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/androidMain"><div class="symbol monospace"><span class="token keyword">open </span><span class="token keyword">override </span><span class="token keyword">fun </span><a href="start.html"><span class="token function">start</span></a><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/androidMain/kotlin/org/meshtastic/core/network/radio/SerialRadioTransport.kt#L114">source</a>)</span></span></div></div> </div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="footer--container">
|
||||
|
||||
+1
-1
@@ -94,7 +94,7 @@
|
||||
<div class="cover ">
|
||||
<h1 class="cover"><span>Heartbeat</span><wbr><span><span>Sender</span></span></h1>
|
||||
</div>
|
||||
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/commonMain"><div class="symbol monospace"><span class="token keyword">constructor</span><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">sendToRadio<span class="token operator">: </span><span class="token punctuation">(</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte-array/index.html">ByteArray</a><span class="token punctuation">)</span><span class="token operator"> -> </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token punctuation">, </span></span><span class="parameter ">afterHeartbeat<span class="token operator">: </span><span class="token keyword">suspend </span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator"> -> </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">logTag<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token operator"> = </span><span class="token string">"HeartbeatSender"</span></span></span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/commonMain/kotlin/org/meshtastic/core/network/transport/HeartbeatSender.kt#L38">source</a>)</span></span></div><h4 class="tableheader">Parameters</h4><div class="table"><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>send</span><wbr><span>To</span><wbr><span><span>Radio</span></span></u></div></span></div><div><div class="title"><p class="paragraph">callback that reports whether the transport accepted the encoded heartbeat bytes</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>after</span><wbr><span><span>Heartbeat</span></span></u></div></span></div><div><div class="title"><p class="paragraph">optional suspend callback invoked after sending (e.g. to schedule a drain)</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>log</span><wbr><span><span>Tag</span></span></u></div></span></div><div><div class="title"><p class="paragraph">tag for log messages</p></div></div></div></div></div></div></div>
|
||||
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/commonMain"><div class="symbol monospace"><span class="token keyword">constructor</span><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">sendToRadio<span class="token operator">: </span><span class="token punctuation">(</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte-array/index.html">ByteArray</a><span class="token punctuation">)</span><span class="token operator"> -> </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token punctuation">, </span></span><span class="parameter ">afterHeartbeat<span class="token operator">: </span><span class="token keyword">suspend </span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator"> -> </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">logTag<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token operator"> = </span><span class="token string">"HeartbeatSender"</span></span></span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/commonMain/kotlin/org/meshtastic/core/network/transport/HeartbeatSender.kt#L45">source</a>)</span></span></div></div></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="footer--container">
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
<div class="breadcrumbs"><a href="../../index.html">core-network</a><span class="delimiter">/</span><a href="../index.html">org.meshtastic.core.network.transport</a><span class="delimiter">/</span><span class="current">HeartbeatSender</span></div>
|
||||
<div class="cover ">
|
||||
<h1 class="cover"><span>Heartbeat</span><wbr><span><span>Sender</span></span></h1>
|
||||
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/commonMain"><div class="symbol monospace"><span class="token keyword">class </span><a href="index.html">HeartbeatSender</a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">sendToRadio<span class="token operator">: </span><span class="token punctuation">(</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte-array/index.html">ByteArray</a><span class="token punctuation">)</span><span class="token operator"> -> </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token punctuation">, </span></span><span class="parameter ">afterHeartbeat<span class="token operator">: </span><span class="token keyword">suspend </span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator"> -> </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">logTag<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token operator"> = </span><span class="token string">"HeartbeatSender"</span></span></span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/commonMain/kotlin/org/meshtastic/core/network/transport/HeartbeatSender.kt#L38">source</a>)</span></span></div><p class="paragraph">Shared heartbeat sender for Meshtastic radio transports.</p><p class="paragraph">Constructs and sends a <code class="lang-kotlin">ToRadio(heartbeat = Heartbeat(nonce = ...))</code> message to keep the firmware's idle timer from expiring. Each call uses a monotonically increasing nonce to prevent the firmware's per-connection duplicate-write filter from silently dropping it.</p><h4 class="tableheader">Parameters</h4><div class="table"><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>send</span><wbr><span>To</span><wbr><span><span>Radio</span></span></u></div></span></div><div><div class="title"><p class="paragraph">callback that reports whether the transport accepted the encoded heartbeat bytes</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>after</span><wbr><span><span>Heartbeat</span></span></u></div></span></div><div><div class="title"><p class="paragraph">optional suspend callback invoked after sending (e.g. to schedule a drain)</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>log</span><wbr><span><span>Tag</span></span></u></div></span></div><div><div class="title"><p class="paragraph">tag for log messages</p></div></div></div></div></div></div></div>
|
||||
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/commonMain"><div class="symbol monospace"><span class="token keyword">class </span><a href="index.html">HeartbeatSender</a><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/commonMain/kotlin/org/meshtastic/core/network/transport/HeartbeatSender.kt#L38">source</a>)</span></span></div><p class="paragraph">Shared heartbeat sender for Meshtastic radio transports.</p><p class="paragraph">Constructs and sends a <code class="lang-kotlin">ToRadio(heartbeat = Heartbeat(nonce = ...))</code> message to keep the firmware's idle timer from expiring. Each call uses a monotonically increasing nonce to prevent the firmware's per-connection duplicate-write filter from silently dropping it.</p><h4 class="tableheader">Parameters</h4><div class="table"><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>send</span><wbr><span>To</span><wbr><span><span>Radio</span></span></u></div></span></div><div><div class="title"><p class="paragraph">callback that reports whether the transport accepted the encoded heartbeat bytes</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>after</span><wbr><span><span>Heartbeat</span></span></u></div></span></div><div><div class="title"><p class="paragraph">optional suspend callback invoked after sending (e.g. to schedule a drain)</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":core:network/commonMain" data-filterable-set=":core:network/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>log</span><wbr><span><span>Tag</span></span></u></div></span></div><div><div class="title"><p class="paragraph">tag for log messages</p></div></div></div></div></div></div></div>
|
||||
</div>
|
||||
<div class="tabbedcontent">
|
||||
<div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="CONSTRUCTOR,TYPE,PROPERTY,FUNCTION">Members</button></div>
|
||||
|
||||
+1
-1
@@ -94,7 +94,7 @@
|
||||
<div class="cover ">
|
||||
<h1 class="cover"><span>send</span><wbr><span><span>Heartbeat</span></span></h1>
|
||||
</div>
|
||||
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/commonMain"><div class="symbol monospace"><span class="token keyword">suspend </span><span class="token keyword">fun </span><a href="send-heartbeat.html"><span class="token function">sendHeartbeat</span></a><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/commonMain/kotlin/org/meshtastic/core/network/transport/HeartbeatSender.kt#L56">source</a>)</span></span></div><p class="paragraph">Sends a heartbeat to the radio.</p><p class="paragraph">The firmware responds to heartbeats by queuing a <code class="lang-kotlin">queueStatus</code> FromRadio packet, proving the link is alive and keeping the local node's lastHeard timestamp current.</p><span class="kdoc-tag"><h4 class="">Return</h4><p class="paragraph"><code class="lang-kotlin">true</code> when the transport accepted the heartbeat handoff.</p></span></div></div>
|
||||
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/commonMain"><div class="symbol monospace"><span class="token keyword">suspend </span><span class="token keyword">fun </span><a href="send-heartbeat.html"><span class="token function">sendHeartbeat</span></a><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/core/network/src/commonMain/kotlin/org/meshtastic/core/network/transport/HeartbeatSender.kt#L77">source</a>)</span></span></div><p class="paragraph">Sends a heartbeat to the radio.</p><p class="paragraph">The firmware responds to heartbeats by queuing a <code class="lang-kotlin">queueStatus</code> FromRadio packet, proving the link is alive and keeping the local node's lastHeard timestamp current.</p><p class="paragraph">Repeated rejections while disconnected are expected (e.g. a radio that left BLE range), so only the first <a href="../../../../core/network/org.meshtastic.core.network.transport/-heartbeat-rejection-log-policy/-companion/-d-e-f-a-u-l-t_-w-a-r-n_-l-i-m-i-t.html">HeartbeatRejectionLogPolicy.DEFAULT_WARN_LIMIT</a> consecutive rejections log at warn severity; later ones are demoted to debug until a successful send resets the streak.</p><span class="kdoc-tag"><h4 class="">Return</h4><p class="paragraph"><code class="lang-kotlin">true</code> when the transport accepted the heartbeat handoff.</p></span></div></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="footer--container">
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
</span></span></div>
|
||||
<div>
|
||||
<div class="title">
|
||||
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/commonMain"><div class="symbol monospace"><span class="token keyword">class </span><a href="-heartbeat-sender/index.html">HeartbeatSender</a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">sendToRadio<span class="token operator">: </span><span class="token punctuation">(</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte-array/index.html">ByteArray</a><span class="token punctuation">)</span><span class="token operator"> -> </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token punctuation">, </span></span><span class="parameter ">afterHeartbeat<span class="token operator">: </span><span class="token keyword">suspend </span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator"> -> </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">logTag<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token operator"> = </span><span class="token string">"HeartbeatSender"</span></span></span><span class="token punctuation">)</span></div><div class="brief "><p class="paragraph">Shared heartbeat sender for Meshtastic radio transports.</p></div></div></div>
|
||||
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:network/commonMain"><div class="symbol monospace"><span class="token keyword">class </span><a href="-heartbeat-sender/index.html">HeartbeatSender</a></div><div class="brief "><p class="paragraph">Shared heartbeat sender for Meshtastic radio transports.</p></div></div></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+1
-1
@@ -94,7 +94,7 @@
|
||||
<div class="cover ">
|
||||
<h1 class="cover"><span>Connection</span><wbr><span>Action</span><wbr><span><span>Button</span></span></h1>
|
||||
</div>
|
||||
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":feature:connections/commonMain"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html"><span class="token annotation builtin">Composable</span></a></div></div><span class="token keyword">fun </span><a href="-connection-action-button.html"><span class="token function">ConnectionActionButton</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">onClick<span class="token operator">: </span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator"> -> </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span></span><span class="parameter ">icon<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/vector/ImageVector.html">ImageVector</a><span class="token punctuation">, </span></span><span class="parameter ">text<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">, </span></span><span class="parameter ">modifier<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier.html">Modifier</a><span class="token operator"> = </span>Modifier<span class="token punctuation">, </span></span><span class="parameter ">style<span class="token operator">: </span><a href="-connection-action-button-style/index.html">ConnectionActionButtonStyle</a><span class="token operator"> = </span>ConnectionActionButtonStyle.Filled<span class="token punctuation">, </span></span><span class="parameter ">enabled<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">iconContentDescription<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token operator">?</span><span class="token operator"> = </span>null</span></span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/feature/connections/src/commonMain/kotlin/org/meshtastic/feature/connections/ui/components/ConnectionActionButton.kt#L44">source</a>)</span></span></div><p class="paragraph">Shared "icon + label" button used throughout the Connections screen. Centralises M3 sizing conventions (<a href="https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonDefaults.html#iconsize">ButtonDefaults.IconSize</a>, <a href="https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonDefaults.html#iconspacing">ButtonDefaults.IconSpacing</a>, and the variant-appropriate <code class="lang-kotlin">*WithIconContentPadding</code>) so every scan / add / empty-state affordance renders identically.</p><h4 class="tableheader">Parameters</h4><div class="table"><div class="table-row table-row_content" data-filterable-current=":feature:connections/commonMain" data-filterable-set=":feature:connections/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>icon</span><wbr><span>Content</span><wbr><span><span>Description</span></span></u></div></span></div><div><div class="title"><p class="paragraph">accessibility label for the leading icon. Defaults to <code class="lang-kotlin">null</code> because the visible <a href="-connection-action-button.html">text</a> usually describes the action; override when the icon carries information the text does not.</p></div></div></div></div></div></div></div>
|
||||
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":feature:connections/commonMain"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html"><span class="token annotation builtin">Composable</span></a></div></div><span class="token keyword">fun </span><a href="-connection-action-button.html"><span class="token function">ConnectionActionButton</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">onClick<span class="token operator">: </span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator"> -> </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span></span><span class="parameter ">icon<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/vector/ImageVector.html">ImageVector</a><span class="token punctuation">, </span></span><span class="parameter ">text<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">, </span></span><span class="parameter ">modifier<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier.html">Modifier</a><span class="token operator"> = </span>Modifier<span class="token punctuation">, </span></span><span class="parameter ">style<span class="token operator">: </span><a href="-connection-action-button-style/index.html">ConnectionActionButtonStyle</a><span class="token operator"> = </span>ConnectionActionButtonStyle.Filled<span class="token punctuation">, </span></span><span class="parameter ">enabled<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">iconContentDescription<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token operator">?</span><span class="token operator"> = </span>null</span></span><span class="token punctuation">)</span><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/meshtastic/Meshtastic-Android/blob/main/feature/connections/src/commonMain/kotlin/org/meshtastic/feature/connections/ui/components/ConnectionActionButton.kt#L44">source</a>)</span></span></div><p class="paragraph">Shared "icon + label" button used throughout the Connections screen. Centralises M3 sizing conventions (<a href="https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonDefaults.html#IconSize">ButtonDefaults.IconSize</a>, <a href="https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonDefaults.html#IconSpacing">ButtonDefaults.IconSpacing</a>, and the variant-appropriate <code class="lang-kotlin">*WithIconContentPadding</code>) so every scan / add / empty-state affordance renders identically.</p><h4 class="tableheader">Parameters</h4><div class="table"><div class="table-row table-row_content" data-filterable-current=":feature:connections/commonMain" data-filterable-set=":feature:connections/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>icon</span><wbr><span>Content</span><wbr><span><span>Description</span></span></u></div></span></div><div><div class="title"><p class="paragraph">accessibility label for the leading icon. Defaults to <code class="lang-kotlin">null</code> because the visible <a href="-connection-action-button.html">text</a> usually describes the action; override when the icon carries information the text does not.</p></div></div></div></div></div></div></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="footer--container">
|
||||
|
||||
@@ -158,7 +158,7 @@
|
||||
</span></span></div>
|
||||
<div>
|
||||
<div class="title">
|
||||
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":feature:connections/commonMain"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html"><span class="token annotation builtin">Composable</span></a></div></div><span class="token keyword">fun </span><a href="-connection-action-button.html"><span class="token function">ConnectionActionButton</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">onClick<span class="token operator">: </span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator"> -> </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span></span><span class="parameter ">icon<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/vector/ImageVector.html">ImageVector</a><span class="token punctuation">, </span></span><span class="parameter ">text<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">, </span></span><span class="parameter ">modifier<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier.html">Modifier</a><span class="token operator"> = </span>Modifier<span class="token punctuation">, </span></span><span class="parameter ">style<span class="token operator">: </span><a href="-connection-action-button-style/index.html">ConnectionActionButtonStyle</a><span class="token operator"> = </span>ConnectionActionButtonStyle.Filled<span class="token punctuation">, </span></span><span class="parameter ">enabled<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">iconContentDescription<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token operator">?</span><span class="token operator"> = </span>null</span></span><span class="token punctuation">)</span></div><div class="brief "><p class="paragraph">Shared "icon + label" button used throughout the Connections screen. Centralises M3 sizing conventions (<a href="https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonDefaults.html#iconsize">ButtonDefaults.IconSize</a>, <a href="https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonDefaults.html#iconspacing">ButtonDefaults.IconSpacing</a>, and the variant-appropriate <code class="lang-kotlin">*WithIconContentPadding</code>) so every scan / add / empty-state affordance renders identically.</p></div></div></div>
|
||||
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":feature:connections/commonMain"><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable.html"><span class="token annotation builtin">Composable</span></a></div></div><span class="token keyword">fun </span><a href="-connection-action-button.html"><span class="token function">ConnectionActionButton</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">onClick<span class="token operator">: </span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator"> -> </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span></span><span class="parameter ">icon<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/vector/ImageVector.html">ImageVector</a><span class="token punctuation">, </span></span><span class="parameter ">text<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">, </span></span><span class="parameter ">modifier<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier.html">Modifier</a><span class="token operator"> = </span>Modifier<span class="token punctuation">, </span></span><span class="parameter ">style<span class="token operator">: </span><a href="-connection-action-button-style/index.html">ConnectionActionButtonStyle</a><span class="token operator"> = </span>ConnectionActionButtonStyle.Filled<span class="token punctuation">, </span></span><span class="parameter ">enabled<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">iconContentDescription<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token operator">?</span><span class="token operator"> = </span>null</span></span><span class="token punctuation">)</span></div><div class="brief "><p class="paragraph">Shared "icon + label" button used throughout the Connections screen. Centralises M3 sizing conventions (<a href="https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonDefaults.html#IconSize">ButtonDefaults.IconSize</a>, <a href="https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonDefaults.html#IconSpacing">ButtonDefaults.IconSpacing</a>, and the variant-appropriate <code class="lang-kotlin">*WithIconContentPadding</code>) so every scan / add / empty-state affordance renders identically.</p></div></div></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
File diff suppressed because one or more lines are too long.
File diff suppressed because one or more lines are too long.
File diff suppressed because one or more lines are too long.
File diff suppressed because one or more lines are too long.
File diff suppressed because one or more lines are too long.
File diff suppressed because one or more lines are too long.
Reference in new issue
Block a user