BACnet.Protocol.Services.Ack.ConfirmedPrivateTransferAck (bacstack v0.1.0-dev.1)

Copy Markdown View Source

The Confirmed Private Transfer Acknowledgment is the response to a successful Confirmed Private Transfer service request.

It returns a vendor identifier, a vendor-defined service number, and an optional list of result parameters that the vendor has defined for their proprietary service. This allows vendors to implement rich, bidirectional private services while still using the standard BACnet confirmed service infrastructure.

Summary

Types

t()

Response payload for a successful Confirmed Private Transfer.

Types

t()

@type t() :: %BACnet.Protocol.Services.Ack.ConfirmedPrivateTransferAck{
  result: [BACnet.Protocol.ApplicationTags.Encoding.t()],
  service_number: non_neg_integer(),
  vendor_id: BACnet.Protocol.ApplicationTags.unsigned16()
}

Response payload for a successful Confirmed Private Transfer.

Returns the vendor_id/service_number echoed back plus any result data (encoded application tags) produced by the vendor-specific service on the remote device.

Functions

from_apdu(ack)

@spec from_apdu(BACnet.Protocol.APDU.ComplexACK.t()) :: {:ok, t()} | {:error, term()}

Converts a received BACnet.Protocol.APDU.ComplexACK APDU into a struct.

to_apdu(ack, invoke_id \\ 0)

@spec to_apdu(t(), 0..255) ::
  {:ok, BACnet.Protocol.APDU.ComplexACK.t()} | {:error, term()}

Constructs a BACnet.Protocol.APDU.ComplexACK APDU from a BACnet.Protocol.Services.Ack.ConfirmedPrivateTransferAck struct.