clj-artnet.impl.protocol.machine

Pure Art-Net protocol state machine.

add-effect

(add-effect result effect)

callback

(callback key payload)

Effect: invoke callback.

dmx-frame

(dmx-frame port-address sequence data length)

Effect: output DMX.

handle-command

multimethod

Handles external command.

handle-config

(handle-config state event)

handle-packet

multimethod

Handles packet by opcode.

handle-tick

(handle-tick state event)

Handles timer tick.

initial-dmx-state

(initial-dmx-state)(initial-dmx-state config)

initial-state

(initial-state)(initial-state config)

Creates initial state.

log-msg

(log-msg level message & {:as extra})

Effect: log message.

result

(result state)(result state effects)

Creates step result.

schedule

(schedule delay-ms event)

Effect: schedule event.

step

(step state event)

Transitions state based on event.

tx-packet

(tx-packet op-kw data)(tx-packet op-kw data target)

Effect: send packet.

tx-reply

(tx-reply op-kw data sender)

Effect: send reply.