feat(connections): Connecting state refactor (#3722)

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
This commit is contained in:
James Rich 2025-11-17 15:15:22 -06:00 committed by GitHub
parent 12ccb34553
commit 73d933fe14
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
22 changed files with 379 additions and 263 deletions

View file

@ -135,7 +135,7 @@ constructor(
queueJob =
scope.handledLaunch {
Timber.d("packet queueJob started")
while (connectionStateHolder.getState() == ConnectionState.CONNECTED) {
while (connectionStateHolder.connectionState.value == ConnectionState.Connected) {
// take the first packet from the queue head
val packet = queuedPackets.poll() ?: break
try {
@ -181,7 +181,9 @@ constructor(
val future = CompletableFuture<Boolean>()
queueResponse[packet.id] = future
try {
if (connectionStateHolder.getState() != ConnectionState.CONNECTED) throw RadioNotConnectedException()
if (connectionStateHolder.connectionState.value != ConnectionState.Connected) {
throw RadioNotConnectedException()
}
sendToRadio(ToRadio.newBuilder().apply { this.packet = packet })
} catch (ex: Exception) {
Timber.e(ex, "sendToRadio error: ${ex.message}")