MeshDataHandlerImpl

class MeshDataHandlerImpl(nodeManager: NodeManager, packetHandler: PacketHandler, serviceRepository: ServiceRepository, packetRepository: Lazy<PacketRepository>, serviceBroadcasts: ServiceBroadcasts, notificationManager: NotificationManager, serviceNotifications: MeshServiceNotifications, analytics: PlatformAnalytics, dataMapper: MeshDataMapper, tracerouteHandler: TracerouteHandler, neighborInfoHandler: NeighborInfoHandler, radioConfigRepository: RadioConfigRepository, messageFilter: MessageFilter, storeForwardHandler: StoreForwardPacketHandler, telemetryHandler: TelemetryPacketHandler, adminPacketHandler: AdminPacketHandler, scope: CoroutineScope) : MeshDataHandler(source)

Implementation of MeshDataHandler that decodes and routes incoming mesh data packets.

This class handles the complexity of:

  1. Mapping raw MeshPacket objects to domain-friendly DataPacket objects.

  2. Routing packets to specialized handlers (e.g., Traceroute, NeighborInfo, Telemetry, Admin, SFPP).

  3. Managing message history and persistence.

  4. Triggering notifications for various packet types (Text, Waypoints).

Constructors

Link copied to clipboard
constructor(nodeManager: NodeManager, packetHandler: PacketHandler, serviceRepository: ServiceRepository, packetRepository: Lazy<PacketRepository>, serviceBroadcasts: ServiceBroadcasts, notificationManager: NotificationManager, serviceNotifications: MeshServiceNotifications, analytics: PlatformAnalytics, dataMapper: MeshDataMapper, tracerouteHandler: TracerouteHandler, neighborInfoHandler: NeighborInfoHandler, radioConfigRepository: RadioConfigRepository, messageFilter: MessageFilter, storeForwardHandler: StoreForwardPacketHandler, telemetryHandler: TelemetryPacketHandler, adminPacketHandler: AdminPacketHandler, scope: CoroutineScope)

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
open override fun handleReceivedData(packet: MeshPacket, myNodeNum: Int, logUuid: String?, logInsertJob: Job?)
Link copied to clipboard
open override fun rememberDataPacket(dataPacket: DataPacket, myNodeNum: Int, updateNotification: Boolean)