A Read Access Result is the response data returned for one object when a Read Property Multiple request is processed. It contains the Object Identifier of the object that was read, followed by a list of individual property results (which may contain either a successful value or an error for that specific property).
Because Read Property Multiple can request many properties from many objects in one call, the response must be able to report partial success: some properties may be returned successfully while others may fail with individual errors (for example, a property that does not exist or is currently inaccessible). The Read Access Result structure makes this per-property error reporting possible.
This type is only used in the response path of Read Property Multiple; the request side uses Access Specification instead.
Summary
Functions
Encodes a BACnet Read Access Result into BACnet application tags encoding.
Parses a BACnet Read Access Result from BACnet application tags encoding.
Validates whether the given read access result is in form valid.
Types
@type t() :: %BACnet.Protocol.ReadAccessResult{ object_identifier: BACnet.Protocol.ObjectIdentifier.t(), results: [BACnet.Protocol.ReadAccessResult.ReadResult.t()] }
The result of a Read Property Multiple request for one object.
Contains the object identifier and the list of per-property ReadResult entries (each either a successful value or a BACnet error for that property).
Functions
@spec encode(t(), Keyword.t()) :: {:ok, BACnet.Protocol.ApplicationTags.encoding_list()} | {:error, term()}
Encodes a BACnet Read Access Result into BACnet application tags encoding.
@spec parse(BACnet.Protocol.ApplicationTags.encoding_list()) :: {:ok, {t(), rest :: BACnet.Protocol.ApplicationTags.encoding_list()}} | {:error, term()}
Parses a BACnet Read Access Result from BACnet application tags encoding.
Validates whether the given read access result is in form valid.
It only validates the struct is valid as per type specification.