8.5. vantage6.node#

The vantage6 node’s core function is to retrieve tasks from the central server, run them and return the results.

The node application runs four threads:

Main thread

Checks the task queue and run the next task if there is one available.

Listening thread

Listens for incoming websocket messages. Among other functionality, it adds new tasks to the task queue.

Speaking thread

Waits for tasks to finish. When they do, return the results to the central server.

Proxy server thread

Algorithm containers are isolated from the internet for security reasons. The local proxy server provides an interface to the central server for algorithm containers to create subtasks and retrieve their results.

The node connects to the server using a websocket connection. This connection is mainly used for sharing status updates. This avoids the need for polling to see if there are new tasks available.

Functions

run(ctx)

Start the node.

Classes

Node(ctx)

Authenticates to the central server, setup encryption, a websocket connection, retrieving task that were posted while offline, preparing dataset for usage and finally setup a local proxy server..

VPNConnectMode(value)

An enumeration.

Modules

vantage6.node.cli

vantage6.node.context

vantage6.node.globals

vantage6.node.proxy_server

This module contains a proxy server implementation that the node uses to communicate with the server.

vantage6.node.socket

vantage6.node.util