Authors:Blaise Thompson
Post-History:2020-04-22, 2020-07-14


This YEP defines the is-daemon trait. This is a core trait which applies to all yaq daemon. In other words, this YEP defines the config, state, and messages that all yaq daemons must implement.

This trait has been accepted. See built documentation at at yaq.fyi.

Table of Contents


The config, state, and messages here must be implemented by all yaq daemons.


config: port

type: int

TCP port for daemon to occupy.

config: serial

type: [null, string]

default: null

Serial number for the particular device represented by the daemon.

config: make

type: [null, string]

default: null

Make (manufacturer) for the particular device represented by the daemon.

config: model

type: [null, string]

default: null

Model (manufacturer part number) for the particular device represented by the daemon.

message: busy

response: boolean

Returns true if daemon is currently busy.

message: id

response: {'type': 'map', 'values': ['null', 'string']}

Map with information to identify the daemon, including name, kind, make, model, serial.

message: get_config_filepath

response: string

String representing the absolute filepath of the configuration file on the host machine.

message: get_config

response: string

Full configuration for the individual daemon as defined in the TOML file. This includes defaults and shared settings not directly specified in the daemon-specific TOML table.

message: shutdown

parameter: restart: boolean
parameter: restart: default: false

Cleanly shutdown (or restart) daemon.

message: get_state

response: string

Daemon state toml file dumped as a as string.


Discussion can be found on the gitlab issue for this YEP.


This document is placed in the public domain or under the CC0-1.0-Universal license, whichever is more permissive.

built 2021-01-15 15:42:48                                      CC0: no copyright