NodeManagerImpl

class NodeManagerImpl(nodeRepository: NodeRepository, notificationManager: NotificationManager, radioInterfaceService: RadioInterfaceService, scope: ServiceScope) : NodeManager(source)

Implementation of NodeManager that maintains an in-memory database of the mesh.

Constructors

Link copied to clipboard
constructor(nodeRepository: NodeRepository, notificationManager: NotificationManager, radioInterfaceService: RadioInterfaceService, scope: ServiceScope)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
open override val allowNodeDbWrites: MutableStateFlow<Boolean>
Link copied to clipboard
open override val connectionIdentity: StateFlow<ConnectionIdentity?>
Link copied to clipboard
open override val firmwareEdition: MutableStateFlow<FirmwareEdition?>
Link copied to clipboard
open override val isNodeDbReady: MutableStateFlow<Boolean>
Link copied to clipboard
open override val myDeviceId: MutableStateFlow<String?>
Link copied to clipboard
open override val myNodeNum: MutableStateFlow<Int?>
Link copied to clipboard
open override val nodeDBbyNodeNum: Map<Int, Node>

Functions

Link copied to clipboard
open override fun applyTrustedIdentityMigrations(removedNums: Collection<Int>)
Link copied to clipboard
open override fun clear()
Link copied to clipboard
open override fun clearConnectionIdentity()
Link copied to clipboard
open override fun clearStaleConnectionIdentity(activeSessionGeneration: Long)
Link copied to clipboard
open override fun getMyId(): String
Link copied to clipboard
open override fun getMyNodeInfo(): MyNodeInfo?
Link copied to clipboard
open override fun getNodeById(id: String): Node?
Link copied to clipboard
open override fun handleReceivedNodeStatus(fromNum: Int, s: StatusMessage, session: RadioSessionContext?)
Link copied to clipboard
open override fun handleReceivedPaxcounter(fromNum: Int, p: Paxcount, session: RadioSessionContext?)
Link copied to clipboard
open override fun handleReceivedPosition(fromNum: Int, myNodeNum: Int, p: Position, defaultTime: Long, session: RadioSessionContext?)
Link copied to clipboard
open override fun handleReceivedTelemetry(fromNum: Int, telemetry: Telemetry)
Link copied to clipboard
open override fun handleReceivedUser(fromNum: Int, p: User, channel: Int, manuallyVerified: Boolean, session: RadioSessionContext?)
Link copied to clipboard
open override fun insertMetadata(nodeNum: Int, metadata: DeviceMetadata, session: RadioSessionContext?)
Link copied to clipboard
open override fun installNodeInfo(info: NodeInfo)
Link copied to clipboard
open suspend override fun installNodeInfoAndPersist(info: NodeInfo)
Link copied to clipboard
open override fun loadCachedNodeDB()
Link copied to clipboard
open override fun publishConnectionIdentity(sessionGeneration: Long, address: String, nodeNum: Int, deviceId: String?)
Link copied to clipboard
open override fun removeByNodenum(nodeNum: Int)
Link copied to clipboard
open override fun setAllowNodeDbWrites(allowed: Boolean)
Link copied to clipboard
open override fun setFirmwareEdition(edition: FirmwareEdition?)
Link copied to clipboard
open override fun setMyDeviceId(id: String?)
Link copied to clipboard
open override fun setMyNodeNum(num: Int?)
Link copied to clipboard
open override fun setNodeDbReady(ready: Boolean)
Link copied to clipboard
open override fun toNodeID(nodeNum: Int): String
Link copied to clipboard
open override fun updateNode(nodeNum: Int, channel: Int, transform: (Node) -> Node)
Link copied to clipboard
open suspend override fun updateNodeAndPersist(nodeNum: Int, channel: Int, transform: (Node) -> Node)
Link copied to clipboard
open override fun updateNodeForSession(nodeNum: Int, session: RadioSessionContext, channel: Int, transform: (Node) -> Node)
Link copied to clipboard
open override fun updateNodeStatus(nodeNum: Int, status: String?)
Link copied to clipboard
open suspend override fun updateNodeStatusAndPersist(nodeNum: Int, status: String?)