PacketHandlerImpl

class PacketHandlerImpl(packetRepository: Lazy<PacketRepository>, radioInterfaceService: RadioInterfaceService, meshLogRepository: Lazy<MeshLogRepository>, connectionStateProvider: ConnectionStateProvider, scope: ServiceScope) : PacketHandler(source)

Constructors

Link copied to clipboard
constructor(packetRepository: Lazy<PacketRepository>, radioInterfaceService: RadioInterfaceService, meshLogRepository: Lazy<MeshLogRepository>, connectionStateProvider: ConnectionStateProvider, scope: ServiceScope)

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
open suspend override fun completeDispatchedResponse(dataRequestId: Int, complete: Boolean)
Link copied to clipboard
open override fun handleQueueStatus(queueStatus: QueueStatus)
Link copied to clipboard
open override fun rearmSendAckTimeouts()
Link copied to clipboard
open suspend override fun sendToRadio(packet: MeshPacket): Boolean

Enqueue packet for transmission. Order is preserved for sequential calls from the same coroutine (mutex acquisition is uncontested between sequential calls). Transactional sequences that require strict ordering across multiple calls — e.g. an editSettings { … } begin → writes → commit sequence — MUST be issued from a single coroutine; concurrent senders share FIFO only at the per-call grain.

open override fun sendToRadio(p: ToRadio)
Link copied to clipboard
open suspend fun sendToRadioAndAwait(packet: MeshPacket): Boolean
Link copied to clipboard
open suspend override fun sendToRadioAndAwaitResult(packet: MeshPacket): AwaitedSendResult
Link copied to clipboard
open suspend override fun sendToRadioForConnection(packet: MeshPacket, expectedConnectionVersion: Long): Boolean
Link copied to clipboard
open override fun stopPacketQueue()