ServerMetaData

@Serializable
data class ServerMetaData(val name: String = "", val port: Int = 0, val model: String = "", val version: String = "", val os: String = "", val platform: Platform? = null, val isLocal: Boolean = false, val loggingEnabled: Boolean = false, val nodes: List<String> = emptyList(), val serialDevices: List<String> = emptyList(), val cameraAvailable: Boolean = false, val error: String = "", val sources: List<NodeIdentity> = emptyList(), val snapshot: Snapshot = Snapshot(), val invocationTriggers: List<InvocationTrigger> = emptyList(), val nodeAction: NodeAction = NodeAction.EXECUTE, val inputs: List<NodeIdentity> = emptyList()) : SourceMetaData(source)

Payload for a Server (or Server.Peer) node.

Constructors

Link copied to clipboard
constructor(name: String = "", port: Int = 0, model: String = "", version: String = "", os: String = "", platform: Platform? = null, isLocal: Boolean = false, loggingEnabled: Boolean = false, nodes: List<String> = emptyList(), serialDevices: List<String> = emptyList(), cameraAvailable: Boolean = false, error: String = "", sources: List<NodeIdentity> = emptyList(), snapshot: Snapshot = Snapshot(), invocationTriggers: List<InvocationTrigger> = emptyList(), nodeAction: NodeAction = NodeAction.EXECUTE, inputs: List<NodeIdentity> = emptyList())

Properties

Link copied to clipboard

true if the server has a camera attached and exposes the /camera/ routes.

Link copied to clipboard
open override val error: String

Last known error message for this node, or empty string when healthy.

Link copied to clipboard
open override val inputs: List<NodeIdentity>

sets the nodes this node reads from to complete its work when invoked

Link copied to clipboard

The set of InvocationTriggers configured to wake this node. The node processor checks the incoming event against this list before doing any work. An empty list means "never auto-fire" — only manual execution.

Link copied to clipboard

true if the server was discovered via LAN multicast beacon. Used to decide whether to append .local to name when constructing reachable URLs (see resolvedHost).

Link copied to clipboard

true while verbose logging has been enabled on the server side.

Link copied to clipboard

Hardware model description (e.g. "Raspberry Pi 5", "MacBook Pro").

Link copied to clipboard

Display name — typically the host's network hostname.

Link copied to clipboard
open override val nodeAction: NodeAction

The action this node performs when it fires. Defaults to NodeAction.EXECUTE on every concrete implementation so that deserialising a payload that predates this field yields the original behaviour unchanged.

Link copied to clipboard

UUIDs of nodes hosted by this server — surfaced for fast counts in the UI.

Link copied to clipboard
val os: String

OS identifier (e.g. "Linux", "macOS 14.4").

Link copied to clipboard

Runtime environment of the server — drives the icon shown in the swarm UI.

Link copied to clipboard
val port: Int

TCP port the server's HTTP/SSE endpoint is listening on.

Link copied to clipboard

Serial device hardware ids the server is exposing via Server.SerialDevice nodes.

Link copied to clipboard
open override val snapshot: Snapshot

Stores the last result of when this node was invoked and is a source of data

Link copied to clipboard
open override val sources: List<NodeIdentity>

Upstream nodes whose values feed this one. For a filter or executor this is the data being read; for a trigger it is the value being watched.

Link copied to clipboard

Krill server version string (mirrors version.txt).

Functions

Link copied to clipboard
fun getUrl(): String

Returns the full https://<resolvedHost>:<port> base URL for this server.

Link copied to clipboard

Returns a resolvable hostname for this server.