lc_sensor_publisher (faber_neuroevolution v1.2.4)

View Source

LC Sensor Publisher - Publishes sensor events for all enabled silos.

Part of the Liquid Conglomerate v2 architecture. This module: - Polls all enabled extension silos for sensor data - Publishes sensor events to the silo_sensors topic - Throttles publishing to avoid overwhelming the UI - Supports runtime silo enable/disable

Event Format

Each silo publishes events like: {temporal_sensors_updated, #{realm => Realm, sensors => SensorMap}} {competitive_sensors_updated, #{realm => Realm, sensors => SensorMap}} ...

Configuration

Started by lc_supervisor with realm and poll_interval_ms options.

Summary

Functions

Disable sensor publishing for a silo.

Enable sensor publishing for a silo.

Force immediate publish of all enabled silo sensors.

Force immediate publish of a specific silo's sensors.

Get list of enabled silos.

Start the sensor publisher with default configuration.

Start the sensor publisher with custom configuration.

Functions

disable_silo(SiloType)

-spec disable_silo(atom()) -> ok.

Disable sensor publishing for a silo.

enable_silo(SiloType)

-spec enable_silo(atom()) -> ok.

Enable sensor publishing for a silo.

force_publish()

-spec force_publish() -> ok.

Force immediate publish of all enabled silo sensors.

force_publish(SiloType)

-spec force_publish(atom()) -> ok.

Force immediate publish of a specific silo's sensors.

get_enabled_silos()

-spec get_enabled_silos() -> [atom()].

Get list of enabled silos.

handle_call(Request, From, State)

handle_cast(Msg, State)

handle_info(Info, State)

init(Config)

start_link()

-spec start_link() -> {ok, pid()} | ignore | {error, term()}.

Start the sensor publisher with default configuration.

start_link(Config)

-spec start_link(map()) -> {ok, pid()} | ignore | {error, term()}.

Start the sensor publisher with custom configuration.

terminate(Reason, State)