Client Command Handler
Language
- Go.
Runtime Context
- Client server-command execution.
Purpose
- Executes supported commands returned by the server in heartbeat responses and produces command result payloads.
Key Files
packages/client/internal/commands/handler.gopackages/client/internal/commands/fs.gopackages/client/internal/commands/handler_test.gopackages/client/cmd/nixstasis/poll.gopackages/client/internal/transport/client.go
Public Interfaces
- Types:
Handler
- Functions and methods:
NewHandler(*Handler).ExecuteBatch
Dependencies
Internal
internal/scriptinternal/transport
External
- Go
context - Go
sync - Go filesystem APIs.
Client-Server Interaction Details
- Commands originate in
PollResponse.CommandsfromPOST /api/v1/devices/:device_id/heartbeat. - Supported command types are
list_scripts,install_script,remove_script, andssh_authorize. - Commands with deferred payload references are hydrated through
FetchCommandPayloadbefore execution. - Results are sent to
POST /api/v1/devices/:device_id/command_results.
Traceable references:
packages/client/internal/commands/handler.go:17-230packages/client/cmd/nixstasis/poll.go:198-249packages/client/internal/transport/client.go:140-212