pub trait EventHandler: Send + Sync {
Show 75 methods
// Provided methods
fn on_device_config_changed(&self, device: DeviceUid) { ... }
fn on_device_config_complete(&self, device: DeviceUid) { ... }
fn on_device_online_changed(&self, device: DeviceUid, online: bool) { ... }
fn on_device_temperature_changed(
&self,
device: DeviceUid,
temperatures: Vec<u8>,
) { ... }
fn on_firmware_version_changed(
&self,
device: DeviceUid,
version: FirmwareVersion,
) { ... }
fn on_system_status_changed(
&self,
device: DeviceUid,
status: u16,
message: String,
) { ... }
fn on_network_status_changed(
&self,
device: DeviceUid,
status: NetworkPortStatus,
) { ... }
fn on_v2ip_stats_changed(&self, device: DeviceUid, stats: V2ipDeviceStats) { ... }
fn on_v2ip_sources_changed(
&self,
device: DeviceUid,
sources: Vec<V2ipStreamSources>,
) { ... }
fn on_v2ip_details_changed(
&self,
device: DeviceUid,
details: DeviceV2ipDetails,
) { ... }
fn on_v2ip_sink_changed(&self, device: DeviceUid, sink: DeviceV2ipSink) { ... }
fn on_multiviewer_status_changed(
&self,
device: DeviceUid,
status: MultiviewerStatus,
) { ... }
fn on_audio_endpoints_changed(
&self,
device: DeviceUid,
endpoints: AudioEndpoints,
) { ... }
fn on_mesh_master_changed(&self, device: DeviceUid, master: DeviceUid) { ... }
fn on_topology_changed(
&self,
device: DeviceUid,
topology: Vec<TopologyEntry>,
) { ... }
fn on_amp_dolby_settings_changed(
&self,
device: DeviceUid,
settings: AmpDolbySettings,
) { ... }
fn on_setup_status_changed(&self, device: DeviceUid, completed: bool) { ... }
fn on_installer_id_changed(&self, device: DeviceUid, installer_id: u16) { ... }
fn on_tiling_changed(&self, device: DeviceUid, tiling: V2ipTilingConfig) { ... }
fn on_rc_settings_changed(&self, device: DeviceUid, settings: RcSettings) { ... }
fn on_v2ip_link_changed(&self, device: DeviceUid, target: DeviceUid) { ... }
fn on_multiviewer_command(
&self,
device: DeviceUid,
command: MultiviewerCommand,
) { ... }
fn on_audio_select_input(
&self,
device: DeviceUid,
change: AudioChangeSource,
) { ... }
fn on_audio_endpoint_mute(
&self,
device: DeviceUid,
endpoint: u16,
muted: bool,
) { ... }
fn on_audio_endpoint_trigger(
&self,
device: DeviceUid,
endpoint: u16,
active: bool,
) { ... }
fn on_audio_endpoint_volume(
&self,
device: DeviceUid,
endpoint: u16,
volume: u32,
) { ... }
fn on_discover_request(&self, device: DeviceUid) { ... }
fn on_set_route_requested(
&self,
device: DeviceUid,
request: SetRouteRequest,
) { ... }
fn on_edid_requested(&self, device: DeviceUid, request: EdidRequest) { ... }
fn on_edid_received(&self, device: DeviceUid, edid: EdidRecord) { ... }
fn on_bay_name_change_requested(
&self,
device: DeviceUid,
change: BayNameChange,
) { ... }
fn on_edid_profile_change_requested(
&self,
device: DeviceUid,
change: EdidProfileChange,
) { ... }
fn on_reboot_requested(&self, device: DeviceUid, request: RebootRequest) { ... }
fn on_factory_reset_requested(
&self,
device: DeviceUid,
request: FactoryResetRequest,
) { ... }
fn on_monitoring_pulse(&self, device: DeviceUid) { ... }
fn on_upgrade_fpga_requested(&self, device: DeviceUid) { ... }
fn on_detect_bays_requested(&self, device: DeviceUid) { ... }
fn on_power_save_requested(
&self,
device: DeviceUid,
request: V2ipPowerSaveRequest,
) { ... }
fn on_key_transmit_requested(
&self,
device: DeviceUid,
request: KeyTransmitRequest,
) { ... }
fn on_action_transmit_requested(
&self,
device: DeviceUid,
request: ActionTransmitRequest,
) { ... }
fn on_ir_transmit_requested(
&self,
device: DeviceUid,
request: IrTransmitRequest,
) { ... }
fn on_blacklist_changed(
&self,
device: DeviceUid,
change: V2ipBlacklistChange,
) { ... }
fn on_video_wall_command(
&self,
device: DeviceUid,
command: VideoWallCommand,
) { ... }
fn on_bay_registered(&self, bay: BayUid) { ... }
fn on_video_source_changed(&self, bay: BayUid, source: Option<BayUid>) { ... }
fn on_audio_source_changed(&self, bay: BayUid, source: Option<BayUid>) { ... }
fn on_volume_changed(&self, bay: BayUid, volume: VolumeMuteStatus) { ... }
fn on_power_changed(&self, bay: BayUid, power: PowerStatus) { ... }
fn on_name_changed(&self, bay: BayUid, name: String) { ... }
fn on_signal_detected_changed(&self, bay: BayUid, detected: bool) { ... }
fn on_faulty_changed(&self, bay: BayUid, faulty: bool) { ... }
fn on_hidden_changed(&self, bay: BayUid, hidden: bool) { ... }
fn on_poe_powered_changed(&self, bay: BayUid, powered: bool) { ... }
fn on_hdbt_connected_changed(&self, bay: BayUid, connected: bool) { ... }
fn on_signal_type_changed(&self, bay: BayUid, signal_type: String) { ... }
fn on_hpd_detected_changed(&self, bay: BayUid, detected: bool) { ... }
fn on_cec_detected_changed(&self, bay: BayUid, detected: bool) { ... }
fn on_arc_changed(&self, bay: BayUid, arc: ArcStatus) { ... }
fn on_edid_profile_changed(&self, bay: BayUid, profile: EdidProfile) { ... }
fn on_rc_type_changed(&self, bay: BayUid, rc_type: RcType) { ... }
fn on_key_pressed(&self, bay: BayUid, key: RcKey) { ... }
fn on_action_received(&self, bay: BayUid, action: RcAction) { ... }
fn on_mirror_status_changed(&self, bay: BayUid, mirror: BayMirrorStatus) { ... }
fn on_amp_zone_settings_changed(
&self,
bay: BayUid,
settings: AmpZoneSettings,
) { ... }
fn on_volume_step(&self, bay: BayUid, up: bool) { ... }
fn on_audio_clip(&self, bay: BayUid, clip: AudioClip) { ... }
fn on_ir_captured(&self, bay: BayUid, capture: IrCapture) { ... }
fn on_filtered_devices_changed(&self, bay: BayUid, filtered: Vec<DeviceUid>) { ... }
fn on_audio_endpoint_changed(&self, bay: BayUid, endpoint: u8) { ... }
fn on_encoder_disabled_changed(&self, bay: BayUid, disabled: bool) { ... }
fn on_decoder_disabled_changed(&self, bay: BayUid, disabled: bool) { ... }
fn on_bay_linked(
&self,
bay: BayUid,
linked_serial: String,
bay_name: String,
features: LinkFeature,
) { ... }
fn on_bay_unlinked(
&self,
bay: BayUid,
linked_serial: String,
bay_name: String,
) { ... }
fn on_device_update(&self, device: DeviceUid) { ... }
fn on_bay_update(&self, bay: BayUid) { ... }
}Expand description
Receives events.
Every method has a no-op default, so an implementation names only the events it cares about. Handlers run one at a time from the thread that produced the event, with no lock held: calling back into the library from one is safe, but blocking for long stalls the receive path.
Provided Methods§
Sourcefn on_device_config_changed(&self, device: DeviceUid)
fn on_device_config_changed(&self, device: DeviceUid)
The device’s configuration changed.
Sourcefn on_device_config_complete(&self, device: DeviceUid)
fn on_device_config_complete(&self, device: DeviceUid)
The device has reported every part of its configuration.
Sourcefn on_device_online_changed(&self, device: DeviceUid, online: bool)
fn on_device_online_changed(&self, device: DeviceUid, online: bool)
The device started or stopped answering.
Sourcefn on_device_temperature_changed(
&self,
device: DeviceUid,
temperatures: Vec<u8>,
)
fn on_device_temperature_changed( &self, device: DeviceUid, temperatures: Vec<u8>, )
The device reported new temperatures.
Sourcefn on_firmware_version_changed(
&self,
device: DeviceUid,
version: FirmwareVersion,
)
fn on_firmware_version_changed( &self, device: DeviceUid, version: FirmwareVersion, )
A firmware component reported its version.
Sourcefn on_system_status_changed(
&self,
device: DeviceUid,
status: u16,
message: String,
)
fn on_system_status_changed( &self, device: DeviceUid, status: u16, message: String, )
The device reported a system status.
Sourcefn on_network_status_changed(
&self,
device: DeviceUid,
status: NetworkPortStatus,
)
fn on_network_status_changed( &self, device: DeviceUid, status: NetworkPortStatus, )
A network port reported its link state.
Sourcefn on_v2ip_stats_changed(&self, device: DeviceUid, stats: V2ipDeviceStats)
fn on_v2ip_stats_changed(&self, device: DeviceUid, stats: V2ipDeviceStats)
The device reported V2IP statistics.
Sourcefn on_v2ip_sources_changed(
&self,
device: DeviceUid,
sources: Vec<V2ipStreamSources>,
)
fn on_v2ip_sources_changed( &self, device: DeviceUid, sources: Vec<V2ipStreamSources>, )
The streams the device’s source bays advertise changed.
Sourcefn on_v2ip_details_changed(&self, device: DeviceUid, details: DeviceV2ipDetails)
fn on_v2ip_details_changed(&self, device: DeviceUid, details: DeviceV2ipDetails)
The device’s V2IP encoder configuration changed.
Sourcefn on_v2ip_sink_changed(&self, device: DeviceUid, sink: DeviceV2ipSink)
fn on_v2ip_sink_changed(&self, device: DeviceUid, sink: DeviceV2ipSink)
The streams the device’s sink is subscribed to changed. A request
addressed to it fires this too - see DeviceV2ipSink.
Sourcefn on_multiviewer_status_changed(
&self,
device: DeviceUid,
status: MultiviewerStatus,
)
fn on_multiviewer_status_changed( &self, device: DeviceUid, status: MultiviewerStatus, )
A multiviewer reported its state.
Sourcefn on_audio_endpoints_changed(
&self,
device: DeviceUid,
endpoints: AudioEndpoints,
)
fn on_audio_endpoints_changed( &self, device: DeviceUid, endpoints: AudioEndpoints, )
The device reported its audio endpoint tree.
Sourcefn on_mesh_master_changed(&self, device: DeviceUid, master: DeviceUid)
fn on_mesh_master_changed(&self, device: DeviceUid, master: DeviceUid)
The device reported its mesh master.
Sourcefn on_topology_changed(&self, device: DeviceUid, topology: Vec<TopologyEntry>)
fn on_topology_changed(&self, device: DeviceUid, topology: Vec<TopologyEntry>)
The device reported its view of the mesh topology.
Sourcefn on_amp_dolby_settings_changed(
&self,
device: DeviceUid,
settings: AmpDolbySettings,
)
fn on_amp_dolby_settings_changed( &self, device: DeviceUid, settings: AmpDolbySettings, )
A ProAmp8 reported its Dolby settings.
Sourcefn on_setup_status_changed(&self, device: DeviceUid, completed: bool)
fn on_setup_status_changed(&self, device: DeviceUid, completed: bool)
Installer setup was completed or cleared.
Sourcefn on_installer_id_changed(&self, device: DeviceUid, installer_id: u16)
fn on_installer_id_changed(&self, device: DeviceUid, installer_id: u16)
The installer id changed.
Sourcefn on_tiling_changed(&self, device: DeviceUid, tiling: V2ipTilingConfig)
fn on_tiling_changed(&self, device: DeviceUid, tiling: V2ipTilingConfig)
The sink was told to show a window.
Sourcefn on_rc_settings_changed(&self, device: DeviceUid, settings: RcSettings)
fn on_rc_settings_changed(&self, device: DeviceUid, settings: RcSettings)
A source bay’s remote-control configuration changed.
Sourcefn on_v2ip_link_changed(&self, device: DeviceUid, target: DeviceUid)
fn on_v2ip_link_changed(&self, device: DeviceUid, target: DeviceUid)
A V2IP device was linked to a remote peer.
Sourcefn on_multiviewer_command(&self, device: DeviceUid, command: MultiviewerCommand)
fn on_multiviewer_command(&self, device: DeviceUid, command: MultiviewerCommand)
A multiviewer command arrived.
Sourcefn on_audio_select_input(&self, device: DeviceUid, change: AudioChangeSource)
fn on_audio_select_input(&self, device: DeviceUid, change: AudioChangeSource)
An audio endpoint was switched to a new source.
Sourcefn on_audio_endpoint_mute(&self, device: DeviceUid, endpoint: u16, muted: bool)
fn on_audio_endpoint_mute(&self, device: DeviceUid, endpoint: u16, muted: bool)
An audio endpoint was muted or unmuted.
Sourcefn on_audio_endpoint_trigger(
&self,
device: DeviceUid,
endpoint: u16,
active: bool,
)
fn on_audio_endpoint_trigger( &self, device: DeviceUid, endpoint: u16, active: bool, )
An audio endpoint’s trigger changed.
Sourcefn on_audio_endpoint_volume(
&self,
device: DeviceUid,
endpoint: u16,
volume: u32,
)
fn on_audio_endpoint_volume( &self, device: DeviceUid, endpoint: u16, volume: u32, )
An audio endpoint’s volume changed.
Sourcefn on_discover_request(&self, device: DeviceUid)
fn on_discover_request(&self, device: DeviceUid)
A peer asked every device to announce itself.
Sourcefn on_set_route_requested(&self, device: DeviceUid, request: SetRouteRequest)
fn on_set_route_requested(&self, device: DeviceUid, request: SetRouteRequest)
A peer asked a device to switch a sink.
Sourcefn on_edid_requested(&self, device: DeviceUid, request: EdidRequest)
fn on_edid_requested(&self, device: DeviceUid, request: EdidRequest)
A peer asked a device for its EDID.
Sourcefn on_edid_received(&self, device: DeviceUid, edid: EdidRecord)
fn on_edid_received(&self, device: DeviceUid, edid: EdidRecord)
A device answered with its EDID.
Sourcefn on_bay_name_change_requested(&self, device: DeviceUid, change: BayNameChange)
fn on_bay_name_change_requested(&self, device: DeviceUid, change: BayNameChange)
A peer asked a device to rename a bay.
Sourcefn on_edid_profile_change_requested(
&self,
device: DeviceUid,
change: EdidProfileChange,
)
fn on_edid_profile_change_requested( &self, device: DeviceUid, change: EdidProfileChange, )
A peer asked a device to switch its EDID profile.
Sourcefn on_reboot_requested(&self, device: DeviceUid, request: RebootRequest)
fn on_reboot_requested(&self, device: DeviceUid, request: RebootRequest)
A peer asked a device to reboot.
Sourcefn on_factory_reset_requested(
&self,
device: DeviceUid,
request: FactoryResetRequest,
)
fn on_factory_reset_requested( &self, device: DeviceUid, request: FactoryResetRequest, )
A peer asked devices to factory-reset.
Sourcefn on_monitoring_pulse(&self, device: DeviceUid)
fn on_monitoring_pulse(&self, device: DeviceUid)
A device sent its monitoring pulse.
Sourcefn on_upgrade_fpga_requested(&self, device: DeviceUid)
fn on_upgrade_fpga_requested(&self, device: DeviceUid)
A peer asked a device to upgrade its FPGA.
Sourcefn on_detect_bays_requested(&self, device: DeviceUid)
fn on_detect_bays_requested(&self, device: DeviceUid)
A peer asked a device to re-detect its bays.
Sourcefn on_power_save_requested(
&self,
device: DeviceUid,
request: V2ipPowerSaveRequest,
)
fn on_power_save_requested( &self, device: DeviceUid, request: V2ipPowerSaveRequest, )
A peer asked a sink to enter or leave power save.
Sourcefn on_key_transmit_requested(
&self,
device: DeviceUid,
request: KeyTransmitRequest,
)
fn on_key_transmit_requested( &self, device: DeviceUid, request: KeyTransmitRequest, )
A peer asked a device to send a remote-control key.
Sourcefn on_action_transmit_requested(
&self,
device: DeviceUid,
request: ActionTransmitRequest,
)
fn on_action_transmit_requested( &self, device: DeviceUid, request: ActionTransmitRequest, )
A peer asked a device to perform a remote-control action.
Sourcefn on_ir_transmit_requested(
&self,
device: DeviceUid,
request: IrTransmitRequest,
)
fn on_ir_transmit_requested( &self, device: DeviceUid, request: IrTransmitRequest, )
A peer asked a device to blast raw infrared.
Sourcefn on_blacklist_changed(&self, device: DeviceUid, change: V2ipBlacklistChange)
fn on_blacklist_changed(&self, device: DeviceUid, change: V2ipBlacklistChange)
A device was added to or removed from the source blacklist.
Sourcefn on_video_wall_command(&self, device: DeviceUid, command: VideoWallCommand)
fn on_video_wall_command(&self, device: DeviceUid, command: VideoWallCommand)
A video wall command arrived.
Sourcefn on_bay_registered(&self, bay: BayUid)
fn on_bay_registered(&self, bay: BayUid)
A bay was seen for the first time.
Sourcefn on_video_source_changed(&self, bay: BayUid, source: Option<BayUid>)
fn on_video_source_changed(&self, bay: BayUid, source: Option<BayUid>)
The bay’s routed video source changed.
Sourcefn on_audio_source_changed(&self, bay: BayUid, source: Option<BayUid>)
fn on_audio_source_changed(&self, bay: BayUid, source: Option<BayUid>)
The bay’s routed audio source changed.
Sourcefn on_volume_changed(&self, bay: BayUid, volume: VolumeMuteStatus)
fn on_volume_changed(&self, bay: BayUid, volume: VolumeMuteStatus)
The bay’s volume or mute state changed.
Sourcefn on_power_changed(&self, bay: BayUid, power: PowerStatus)
fn on_power_changed(&self, bay: BayUid, power: PowerStatus)
The attached device’s power state changed.
Sourcefn on_name_changed(&self, bay: BayUid, name: String)
fn on_name_changed(&self, bay: BayUid, name: String)
The bay was renamed.
Sourcefn on_signal_detected_changed(&self, bay: BayUid, detected: bool)
fn on_signal_detected_changed(&self, bay: BayUid, detected: bool)
A signal appeared or disappeared.
Sourcefn on_faulty_changed(&self, bay: BayUid, faulty: bool)
fn on_faulty_changed(&self, bay: BayUid, faulty: bool)
The bay started or stopped reporting a fault.
The bay was hidden or shown.
Sourcefn on_poe_powered_changed(&self, bay: BayUid, powered: bool)
fn on_poe_powered_changed(&self, bay: BayUid, powered: bool)
Power over Ethernet started or stopped supplying the bay.
Sourcefn on_hdbt_connected_changed(&self, bay: BayUid, connected: bool)
fn on_hdbt_connected_changed(&self, bay: BayUid, connected: bool)
The HDBaseT link came up or went down.
Sourcefn on_signal_type_changed(&self, bay: BayUid, signal_type: String)
fn on_signal_type_changed(&self, bay: BayUid, signal_type: String)
The signal format description changed.
Sourcefn on_hpd_detected_changed(&self, bay: BayUid, detected: bool)
fn on_hpd_detected_changed(&self, bay: BayUid, detected: bool)
Hot-plug detect was asserted or released.
Sourcefn on_cec_detected_changed(&self, bay: BayUid, detected: bool)
fn on_cec_detected_changed(&self, bay: BayUid, detected: bool)
A CEC device answered or stopped answering.
Sourcefn on_arc_changed(&self, bay: BayUid, arc: ArcStatus)
fn on_arc_changed(&self, bay: BayUid, arc: ArcStatus)
The audio return channel changed.
Sourcefn on_edid_profile_changed(&self, bay: BayUid, profile: EdidProfile)
fn on_edid_profile_changed(&self, bay: BayUid, profile: EdidProfile)
The input’s EDID profile changed.
Sourcefn on_rc_type_changed(&self, bay: BayUid, rc_type: RcType)
fn on_rc_type_changed(&self, bay: BayUid, rc_type: RcType)
The input’s remote-control type changed.
Sourcefn on_key_pressed(&self, bay: BayUid, key: RcKey)
fn on_key_pressed(&self, bay: BayUid, key: RcKey)
A remote-control key was pressed on the bay.
Sourcefn on_action_received(&self, bay: BayUid, action: RcAction)
fn on_action_received(&self, bay: BayUid, action: RcAction)
A remote-control action was received on the bay.
Sourcefn on_mirror_status_changed(&self, bay: BayUid, mirror: BayMirrorStatus)
fn on_mirror_status_changed(&self, bay: BayUid, mirror: BayMirrorStatus)
The bay started or stopped mirroring another output.
Sourcefn on_amp_zone_settings_changed(&self, bay: BayUid, settings: AmpZoneSettings)
fn on_amp_zone_settings_changed(&self, bay: BayUid, settings: AmpZoneSettings)
A ProAmp8 zone’s settings changed.
Sourcefn on_volume_step(&self, bay: BayUid, up: bool)
fn on_volume_step(&self, bay: BayUid, up: bool)
A volume step was requested on the bay.
Sourcefn on_audio_clip(&self, bay: BayUid, clip: AudioClip)
fn on_audio_clip(&self, bay: BayUid, clip: AudioClip)
The bay detected audio clipping.
Sourcefn on_ir_captured(&self, bay: BayUid, capture: IrCapture)
fn on_ir_captured(&self, bay: BayUid, capture: IrCapture)
Raw infrared was captured on the bay.
Sourcefn on_filtered_devices_changed(&self, bay: BayUid, filtered: Vec<DeviceUid>)
fn on_filtered_devices_changed(&self, bay: BayUid, filtered: Vec<DeviceUid>)
The devices filtered out of this sink’s picker changed.
Sourcefn on_audio_endpoint_changed(&self, bay: BayUid, endpoint: u8)
fn on_audio_endpoint_changed(&self, bay: BayUid, endpoint: u8)
The audio endpoint the bay carries changed.
Sourcefn on_encoder_disabled_changed(&self, bay: BayUid, disabled: bool)
fn on_encoder_disabled_changed(&self, bay: BayUid, disabled: bool)
The bay’s V2IP encoder was enabled or disabled.
Sourcefn on_decoder_disabled_changed(&self, bay: BayUid, disabled: bool)
fn on_decoder_disabled_changed(&self, bay: BayUid, disabled: bool)
The bay’s V2IP decoder was enabled or disabled.
Sourcefn on_bay_linked(
&self,
bay: BayUid,
linked_serial: String,
bay_name: String,
features: LinkFeature,
)
fn on_bay_linked( &self, bay: BayUid, linked_serial: String, bay_name: String, features: LinkFeature, )
The bay was linked to a bay on another device.
linked_serial is the serial of the device at the other end of the
link, and bay_name the name of the bay whose link record changed:
this bay on the device that reported the change, and the far bay on
its peer. Both ends are told, so both fire.
Sourcefn on_bay_unlinked(&self, bay: BayUid, linked_serial: String, bay_name: String)
fn on_bay_unlinked(&self, bay: BayUid, linked_serial: String, bay_name: String)
The bay’s link to another device was removed.
The arguments describe the link that was removed, and mean what
they do on Event::BayLinked.
Sourcefn on_device_update(&self, device: DeviceUid)
fn on_device_update(&self, device: DeviceUid)
Fired after every device-level event above.
Examples found in repository?
59fn main() -> std::io::Result<()> {
60 let mut config = Config::default();
61 config.name = Some("discover".to_owned());
62 if let Some(address) = std::env::args().nth(1) {
63 config.local_ip = Some(address.parse().map_err(|_| {
64 std::io::Error::new(std::io::ErrorKind::InvalidInput, "not an IPv4 address")
65 })?);
66 }
67
68 let remote = Arc::new(Remote::new(config, Arc::new(Printer))?);
69 let _ = CLIENT.set(Arc::clone(&remote));
70 remote.start()?;
71
72 if let Some(target) = remote.target() {
73 println!("listening, sending to {target}. Ctrl-C to stop.");
74 }
75
76 let running = Arc::new(AtomicBool::new(true));
77 let stop = Arc::clone(&running);
78 ctrl_c(move || stop.store(false, Ordering::Relaxed));
79 while running.load(Ordering::Relaxed) {
80 std::thread::sleep(Duration::from_millis(200));
81 }
82
83 let devices = remote.devices();
84 println!("\n{} device(s):", devices.len());
85 for device in devices {
86 Printer.on_device_update(device);
87 }
88
89 remote.close();
90 Ok(())
91}Sourcefn on_bay_update(&self, bay: BayUid)
fn on_bay_update(&self, bay: BayUid)
Fired after every bay-level event above.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
impl EventHandler for ()
Ignores every event.
The handler a client that only reads state through Remote needs, since
the trait is not optional and its methods all default to nothing.