ThreadedCluster
A distributed solver on the threads of this JVM: each node (the catalog, each worker) handles its messages one at a time, the nodes in parallel on threads threads. The theory is split into at most parts partitions if given, as many as the workers of the cluster and of the sites it is federated with otherwise (see site); the graph is labelled as the standard solver does with flags. The nodes share the terms of their messages; with textual, every message is written as text by its sender and read by its receiver instead, as between processes (see it.unibo.tuprolog.argumentation.parallel.message.MessageCodec).
Properties
The sites heard on the local network, not linked to this cluster (see discover)
Called whenever the sites heard on the local network change
Called whenever a site joins or leaves the peers of the cluster, on the thread that saw it
Whether the sites linking to this cluster must present its code, or the token of a pairing made with it: refused otherwise, and after a few wrong codes from an address its codes are refused for a while
The cluster as a solver of arg2p: any goal, its solutions and their graphs, the answers of queries. The goals of several callers are solved in turn by the catalog, each solved again from its start when another one was solved since its last solution.
What the federation does, as the cluster knows it: the sites, and the last evaluation it answered (see Site.stats)
Functions
Federates the cluster with the clusters of the local network that discover the others as well, as they come (see Beacons): it listens (on an ephemeral port, if it did not already), and its beacons go to beaconPort. With requireCode (see requiresCode), the clusters heard are nearby alone, linked to once paired by hand (pair), and linked again with no code from then on.
Serves pages over plain HTTP on the port the cluster listens on (see WebSocketLinks.pages): the page a GET of a path is answered with, none (null) for a 404
The arguments for statement, as Prolog text, by label: the evaluations of several callers run in parallel