Run on control center
Program type client
Communicates with IJAM Online Server
Description Program to send new JAMScript executable files to online nodes.

Usage

./jxe_loader <NODE_UUID> <BLOCK_SIZE>

Flow description

The JXE loader program sends jxe files to nodes to be run on the node. Construct all outgoing messages to the node as per the Node Encryption Protocol. All incoming messages from the node are to be parsed as per the Node Encryption Protocol.

  1. Determine the node to send the program to as per the node ID in the command line arguments.
  2. Determine the program to load by fetching the property runningProgram in the database for the node.
  3. Construct a program metadata packet as per the schema, and send it to the node. Wait for a 200 response.
  4. Read the Jxe file in blocks of size specified by the command line argument. Send each block in a packet as per the schema, and send it to the node. Wait for a 200 response. If a 400 response is received, re-send the packet. If three (3) 400 responses are received, terminate the program.

Sequence diagram

Schema description

Program metadata

Program block