clj-artnet.impl.shell.policy

Art-Net 4 protocol policy enforcement.

Provides pure functions to validate compliance, specifically regarding broadcast restrictions for certain opcodes.

broadcast-target?

(broadcast-target? {:keys [host broadcast?]})

Determines if a target is a broadcast address.

Checks both the explicit :broadcast? flag and 255.255.255.255 address.

check-broadcast-policy

(check-broadcast-policy op broadcast?)

Validates Art-Net 4 broadcast restrictions.

Throws ex-info if a forbidden opcode is targeted for broadcast.

no-broadcast-ops

Set of opcodes strictly forbidden from broadcast by Art-Net 4 spec (Table 1). Includes: :artdmx, :artpollreply, :artrdm, :arttoddata.