Skip to main content

WriteResp

Struct WriteResp 

Source
pub struct WriteResp<'a> {
    pub write_responses: TLVContainer<'a, AttrStatus, ArrayContainer>,
    pub interaction_model_revision: Option<u8>,
}
Expand description

A response to a write request.

Corresponds to the WriteResponseMessage TLV structure in the Interaction Model.

Fields§

§write_responses: TLVContainer<'a, AttrStatus, ArrayContainer>§interaction_model_revision: Option<u8>

interactionModelRevision (TLV context tag 0xFF). Mandatory in every IM message we send; modelled as Option<u8> so we tolerate peers that omit it (the C++ SDK is tolerant in practice).

Implementations§

Source§

impl<'a> WriteResp<'a>

Source

pub fn statuses( &self, cluster: u32, attr: u32, ) -> impl Iterator<Item = (u16, Result<(), Error>)>

Iterate the entries in write_responses whose path matches the given (cluster, attr) pair, in (endpoint, result) form.

  • Ok(()) — the per-attribute write succeeded (IMStatusCode::Success).
  • Err(_) — non-Success status; the IMStatusCode becomes an Error, covering access-check and Unsupported{Endpoint,Cluster,Attribute} failures uniformly.
  • Entries with non-matching cluster/attr are skipped.
  • Entries with an absent endpoint in the path are skipped.

Wildcard write requests (path missing endpoint, cluster, or attr) produce one status entry per expanded path; the iterator yields them in wire order.

Trait Implementations§

Source§

impl<'a> AccessControlWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> AccountLoginWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ActionsWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ActivatedCarbonFilterMonitoringWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> AdministratorCommissioningWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> AirQualityWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> AmbientContextSensingWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> AmbientSensingUnionWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ApplicationBasicWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ApplicationLauncherWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> AudioOutputWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> AvAnalysisWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> BallastConfigurationWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> BasicInformationWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> BindingWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> BooleanStateConfigurationWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> BooleanStateWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> BridgedDeviceBasicInformationWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> CameraAvSettingsUserLevelManagementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> CameraAvStreamManagementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> CarbonDioxideConcentrationMeasurementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> CarbonMonoxideConcentrationMeasurementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ChannelWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ChimeWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ClosureControlWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ClosureDimensionWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ColorControlWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> CommissionerControlWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> CommodityMeteringWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> CommodityPriceWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> CommodityTariffWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ContentAppObserverWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ContentControlWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ContentLauncherWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> Debug for WriteResp<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<'a> DescriptorWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> DeviceEnergyManagementModeWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> DeviceEnergyManagementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> DiagnosticLogsWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> DishwasherAlarmWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> DishwasherModeWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> DoorLockWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> DynamicLightingWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> EcosystemInformationWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ElectricalAlarmWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ElectricalDistributionWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ElectricalEnergyMeasurementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ElectricalGridConditionsWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ElectricalPowerMeasurementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ElectricalProtectionAlarmWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> EnergyEvseModeWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> EnergyEvseWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> EnergyPreferenceWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> EthernetNetworkDiagnosticsWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> FanControlWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> FaultInjectionWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> FixedLabelWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> FlowMeasurementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> FormaldehydeConcentrationMeasurementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> FromTLV<'a> for WriteResp<'a>

Source§

fn from_tlv(element: &TLVElement<'a>) -> Result<WriteResp<'a>, Error>

Deserialize the type from a TLV-encoded element.
Source§

fn init_from_tlv(element: TLVElement<'a>) -> impl Init<WriteResp<'a>, Error>

Generate an in-place initializer for the type that initializes the type from a TLV-encoded element.
Source§

fn nullable_from_tlv(element: &TLVElement<'a>) -> Result<Self, Error>

Deserialize the type from a TLV-encoded element. Read more
Source§

fn init_nullable_from_tlv(element: TLVElement<'a>) -> impl Init<Self, Error>

Generate an in-place initializer for the type that initializes the type from a TLV-encoded element. Read more
Source§

impl<'a> GeneralCommissioningWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> GeneralDiagnosticsWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> GroupKeyManagementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> GroupcastWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> GroupsWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> HepaFilterMonitoringWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> HumidistatWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> IcdManagementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> IdentifyWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> IlluminanceMeasurementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> JointFabricAdministratorWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> JointFabricDatastoreWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> KeypadInputWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> LaundryDryerControlsWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> LaundryWasherControlsWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> LaundryWasherModeWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> LevelControlWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> LocalizationConfigurationWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> LowPowerWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> MediaInputWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> MediaPlaybackWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> MessagesWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> MeterIdentificationWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> MicrowaveOvenControlWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> MicrowaveOvenModeWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ModeSelectWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> NetworkCommissioningWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> NetworkIdentityManagementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> NitrogenDioxideConcentrationMeasurementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> OccupancySensingWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> OnOffWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> OperationalCredentialsWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> OperationalStateWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> OtaSoftwareUpdateProviderWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> OtaSoftwareUpdateRequestorWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> OvenCavityOperationalStateWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> OvenModeWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> OzoneConcentrationMeasurementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> Pm1ConcentrationMeasurementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> Pm10ConcentrationMeasurementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> Pm25ConcentrationMeasurementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> PowerSourceConfigurationWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> PowerSourceWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> PowerTopologyWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> PressureMeasurementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ProximityRangingWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ProxyConfigurationWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ProxyDiscoveryWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ProxyValidWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> PulseWidthModulationWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> PumpConfigurationAndControlWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> PushAvStreamTransportWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> RadonConcentrationMeasurementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> RefrigeratorAlarmWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> RefrigeratorAndTemperatureControlledCabinetModeWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> RelativeHumidityMeasurementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> RvcCleanModeWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> RvcOperationalStateWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> RvcRunModeWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> SampleMeiWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ScenesManagementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ServiceAreaWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> SmokeCoAlarmWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> SmokeConcentrationMeasurementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> SoftwareDiagnosticsWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> SoilMeasurementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> SwitchWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> TargetNavigatorWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> TemperatureControlWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> TemperatureControlledCabinetTopologyWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> TemperatureMeasurementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ThermostatUserInterfaceConfigurationWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ThermostatWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ThreadBorderRouterManagementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ThreadNetworkDiagnosticsWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ThreadNetworkDirectoryWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> TimeFormatLocalizationWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> TimeSynchronizationWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> TlsCertificateManagementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> TlsClientManagementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ToTLV for WriteResp<'a>

Source§

fn to_tlv<W>(&self, tag: &TLVTag, tw: W) -> Result<(), Error>
where W: TLVWrite,

Serialize the type to a TLV-encoded stream.
Source§

fn tlv_iter(&self, tag: TLVTag) -> impl Iterator<Item = Result<TLV<'_>, Error>>

Serialize the type as an iterator of TLV instances by potentially borrowing data from the type.
Source§

fn nullable_to_tlv<W>(&self, tag: &TLVTag, tw: W) -> Result<(), Error>
where W: TLVWrite,

Serialize the type to a TLV-encoded stream. Read more
Source§

fn nullable_tlv_iter( &self, tag: TLVTag, ) -> impl Iterator<Item = Result<TLV<'_>, Error>>

Serialize the type as an iterator of TLV instances by potentially borrowing data from the type. Read more
Source§

impl<'a> TotalVolatileOrganicCompoundsConcentrationMeasurementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> TryFrom<&TLVElement<'a>> for WriteResp<'a>

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from( element: &TLVElement<'a>, ) -> Result<WriteResp<'a>, <WriteResp<'a> as TryFrom<&TLVElement<'a>>>::Error>

Performs the conversion.
Source§

impl<'a> UnitLocalizationWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> UnitTestingWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> UserLabelWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ValveConfigurationAndControlWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> WakeOnLanWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> WaterHeaterManagementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> WaterHeaterModeWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> WaterTankLevelMonitoringWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> WebRtcTransportProviderWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> WebRtcTransportRequestorWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> WiFiNetworkDiagnosticsWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> WiFiNetworkManagementWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> WindowCoveringWriteResponses<'a> for WriteResp<'a>

Source§

impl<'a> ZoneManagementWriteResponses<'a> for WriteResp<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for WriteResp<'a>

§

impl<'a> RefUnwindSafe for WriteResp<'a>

§

impl<'a> Send for WriteResp<'a>

§

impl<'a> Sync for WriteResp<'a>

§

impl<'a> Unpin for WriteResp<'a>

§

impl<'a> UnsafeUnpin for WriteResp<'a>

§

impl<'a> UnwindSafe for WriteResp<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, E> Init<T, E> for T

Source§

unsafe fn __init(self, slot: *mut T) -> Result<(), E>

Initializes slot. Read more
Source§

fn chain<F>(self, f: F) -> ChainInit<Self, F, T, E>
where F: FnOnce(&mut T) -> Result<(), E>,

First initializes the value using self then calls the function f with the initialized value. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T, I> IntoFallibleInit<T> for I
where I: Init<T>,

Source§

fn into_fallible<E>(self) -> impl Init<T, E>

Convert the infallible initializer to a fallible one.
Source§

impl<Source, Target> OctetsInto<Target> for Source
where Target: OctetsFrom<Source>,

Source§

type Error = <Target as OctetsFrom<Source>>::Error

Source§

fn try_octets_into( self, ) -> Result<Target, <Source as OctetsInto<Target>>::Error>

Performs the conversion.
Source§

fn octets_into(self) -> Target
where Self::Error: Into<Infallible>,

Performs an infallible conversion.
Source§

impl<T, E> PinInit<T, E> for T

Source§

unsafe fn __pinned_init(self, slot: *mut T) -> Result<(), E>

Initializes slot. Read more
Source§

fn pin_chain<F>(self, f: F) -> ChainPinInit<Self, F, T, E>
where F: FnOnce(Pin<&mut T>) -> Result<(), E>,

First initializes the value using self then calls the function f with the initialized value. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V