BACnet.Protocol.Services.Protocol protocol (bacstack v0.1.0)

View Source

Summary

Types

t()

All the types that implement this protocol.

Functions

Whether the service is of type confirmed or unconfirmed.

Get the service name atom.

Get a service request APDU for this service.

Types

t()

@type t() :: term()

All the types that implement this protocol.

Functions

confirmed?(service)

@spec confirmed?(t()) :: boolean()

Whether the service is of type confirmed or unconfirmed.

get_name(service)

@spec get_name(t()) :: atom()

Get the service name atom.

to_apdu(service, request_data)

Get a service request APDU for this service.

For confirmed service requests, the following keys default to specific values, if not specified:

  • segmented_response_accepted: true
  • max_segments: :more_than_64
  • max_apdu: 1476
  • invoke_id: 0

These keys can be overriden through request_data. request_data may be ignored for unconfirmed services.

When setting max_segments, do not use :unspecified because it makes it for the server unable to determine if the response is transmittable or not. Thus :unspecified might be as low as maximum two segments. For that reason, always use a specific max segments or :more_than_64.