SpecsModelExplore
Overview
Actors
External Systems
IoT Platform
Edge
Edge Agent
Driver LoaderLocal BufferMQTT PublisherOTA Updater
Edge Rule Runtime
Ingestion
Stream Processing
Device Management
User-Facing Apps
Platform
SpecsModelExplore
Driver Loader
OverviewGuideLinks and Communications
IDproduct.edge.edge_agent.driver_loader
DescriptionLoads and supervises device drivers.
Keydriver_loader
Typecomponent
TeamEdge Platform
Owneredge-platform@iotgateway.example
Statusactive
TechnologiesRust, C
Attributesfootprint: 8MB, language: Rust, protocol: Modbus/OPC-UA
Tags
Table of contents
Guide
Driver Loader
Supervision model
Responsibilities

Guide

Driver Loader

The Driver Loader is how the Edge Agent talks to a heterogeneous fleet of hardware. Different devices speak different buses — Modbus, OPC-UA, a vendor serial protocol — so each is handled by a driver plugin. The loader discovers those plugins, starts them, and keeps them alive.

Why drivers are plugins

The set of device types in the field changes far more often than the agent core. Keeping drivers as separately loadable plugins (some written in C and wrapped with a thin Rust shim) means a new sensor family can ship without rebuilding the agent.

Supervision model

A driver that crashes or hangs must never take the whole agent down. Each driver runs under a supervisor that restarts it with backoff and reports its health upstream.

Responsibilities

  • Enumerate available driver plugins at startup and on config change.
  • Start each driver in its own supervised task with a CPU/memory budget.
  • Normalise raw device readings into the agent’s internal message shape.
  • Surface per-driver health and last-error to the agent’s diagnostics.

Budget enforcement

A misbehaving driver is capped, not trusted. If a plugin exceeds its resource budget repeatedly it is moved to Disabled and an alert is raised rather than allowed to starve telemetry collection.

Links and Communications

1 incoming link

Incoming Links(1)

Source objectLabelLink typeRelationRaw idRequiredDescription
Local Buffer

example-iot.product.edge.edge_agent.local_buffer

component:database
buffers output from—linksproduct.edge.edge_agent.driver_loader——