Meshtastic-Android/core/network
James Rich 96060a0a4d
Some checks are pending
Dependency Submission / dependency-submission (push) Waiting to run
Main CI (Verify & Build) / validate-and-build (push) Waiting to run
Main Push Changelog / Generate main push changelog (push) Waiting to run
refactor: coroutine dispatchers and modernize testing infrastructure (#4901)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-24 01:31:48 +00:00
..
src refactor: coroutine dispatchers and modernize testing infrastructure (#4901) 2026-03-24 01:31:48 +00:00
build.gradle.kts feat: Migrate networking to Ktor and enhance multiplatform support (#4890) 2026-03-23 16:48:10 +00:00
README.md chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4832) 2026-03-17 16:51:09 -05:00

:core:network

Overview

The :core:network module handles all internet-based communication, including fetching firmware metadata, device hardware definitions, and map tiles (in the fdroid flavor).

Key Components

1. Ktor Client

The module uses Ktor as its primary HTTP client for high-performance, asynchronous networking.

2. Remote Data Sources

  • FirmwareReleaseRemoteDataSource: Fetches the latest firmware versions from GitHub or Meshtastic's metadata servers.
  • DeviceHardwareRemoteDataSource: Fetches definitions for supported Meshtastic hardware devices.

Module dependency graph

graph TB
  :core:network[network]:::kmp-library

classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
classDef android-application-compose fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
classDef compose-desktop-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
classDef android-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000;
classDef android-library fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000;
classDef android-library-compose fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000;
classDef android-test fill:#A0C4FF,stroke:#000,stroke-width:2px,color:#000;
classDef jvm-library fill:#BDB2FF,stroke:#000,stroke-width:2px,color:#000;
classDef kmp-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000;
classDef kmp-library fill:#FFC1CC,stroke:#000,stroke-width:2px,color:#000;
classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000;