ICE Agent
Satellite components typically consist of a child process and an agent process. The agent is responsible for communicating with ICE Server and managing the configuration and execution of the child process according to the state of the ICE Server. The child process is responsible for audio and media processing functions like bridging audio in a patch.
The ICE Agent is a command-line tool that runs on Windows, Linux and macOS:
Communicates with ICE Server to determine the operating state of the component and continuously update the component's configuration in response to operating state changes. For example, as a user creates, deletes or updates a patch, the agent will respond to these configuration changes by updating the patch server's child process configuration accordingly.
Manages the lifecycle of the child process, starting and stoping it when necessary and automatically restarting it in case of a failure or crash.
Provides a web application for configuring tactical-mode satellite components in environments where an ICE Server is not being used.
Manages the election of a leader from within a group of satellite server components.