Index
All Classes and Interfaces|All Packages|Constant Field Values
A
- apply(PaintOp) - Method in class protocols.apps.canvas.PixelCanvas
-
Apply an op under last-writer-wins.
- autoDetectAddress() - Static method in class utils.InterfaceToIp
-
Auto-detect a reachable bind address: the routable IPv4 of the sole real (non-loopback, up, non-virtual, non-p2p, non-bridge/VM/VPN) interface.
B
- broadcast(UUID, int, int, int) - Method in class protocols.apps.canvas.telemetry.Telemetry
-
Emitted by the origin node when it issues a paint op.
C
- CanvasApp - Class in protocols.apps.canvas
-
The collaborative-canvas application — the top of the stack, and the only protocol a user (or experiment) drives directly.
- CanvasApp(Properties, Host, short, short) - Constructor for class protocols.apps.canvas.CanvasApp
- CanvasPayload - Class in protocols.apps.canvas
-
The canvas's "application protocol" that rides inside the gossip broadcast's opaque
byte[]payload. - CanvasSyncMessage - Class in protocols.apps.canvas.messages
-
A point-to-point canvas snapshot exchange, sent directly to one peer (not broadcast) over HyParView's shared channel via
sendMessage. - CanvasSyncMessage(CanvasSyncMessage.Kind, List<PaintOp>) - Constructor for class protocols.apps.canvas.messages.CanvasSyncMessage
- CanvasSyncMessage.Kind - Enum Class in protocols.apps.canvas.messages
- clone() - Method in class protocols.apps.canvas.timers.ControlTimer
- clone() - Method in class protocols.apps.canvas.timers.DigestTimer
- clone() - Method in class protocols.apps.canvas.timers.WorkloadTimer
- ControlTimer - Class in protocols.apps.canvas.timers
-
Polls the shared control file in orchestrator-coordinated workload mode (see
CanvasApp.uponControlTimer). - ControlTimer() - Constructor for class protocols.apps.canvas.timers.ControlTimer
D
- decode(byte[]) - Static method in class protocols.apps.canvas.CanvasPayload
-
Parse the bytes delivered by the gossip layer back into a paint op.
- DEFAULT_DIGEST_INTERVAL - Static variable in class protocols.apps.canvas.CanvasApp
-
Default for
CanvasApp.PAR_DIGEST_INTERVAL: "5000" ms. - DEFAULT_HEIGHT - Static variable in class protocols.apps.canvas.CanvasApp
-
Default canvas height: "48".
- DEFAULT_SNAPSHOT_SYNC - Static variable in class protocols.apps.canvas.CanvasApp
-
Default for
CanvasApp.PAR_SNAPSHOT_SYNC: "true". - DEFAULT_UI_ENABLED - Static variable in class protocols.apps.canvas.CanvasApp
-
Default for
CanvasApp.PAR_UI_ENABLED: "true". - DEFAULT_UI_OPEN - Static variable in class protocols.apps.canvas.CanvasApp
-
Default for
CanvasApp.PAR_UI_OPEN: "true". - DEFAULT_UI_PORT_OFFSET - Static variable in class protocols.apps.canvas.CanvasApp
-
Offset added to the bind port to derive the default UI port.
- DEFAULT_WIDTH - Static variable in class protocols.apps.canvas.CanvasApp
-
Default canvas width: "48".
- DEFAULT_WORKLOAD_CONTROL_FILE - Static variable in class protocols.apps.canvas.CanvasApp
-
Default for
CanvasApp.PAR_WORKLOAD_CONTROL_FILE: "" (empty → legacy timer mode). - DEFAULT_WORKLOAD_CONTROL_POLL_MS - Static variable in class protocols.apps.canvas.CanvasApp
-
Default for
CanvasApp.PAR_WORKLOAD_CONTROL_POLL_MS: "250" ms. - DEFAULT_WORKLOAD_DURATION - Static variable in class protocols.apps.canvas.CanvasApp
-
Default for
CanvasApp.PAR_WORKLOAD_DURATION: "0" ms. - DEFAULT_WORKLOAD_ENABLED - Static variable in class protocols.apps.canvas.CanvasApp
-
Default for
CanvasApp.PAR_WORKLOAD_ENABLED: "false". - DEFAULT_WORKLOAD_RATE - Static variable in class protocols.apps.canvas.CanvasApp
-
Default for
CanvasApp.PAR_WORKLOAD_RATE: "2" ops/s. - DEFAULT_WORKLOAD_START_DELAY - Static variable in class protocols.apps.canvas.CanvasApp
-
Default for
CanvasApp.PAR_WORKLOAD_START_DELAY: "5000" ms. - deliver(UUID, String) - Method in class protocols.apps.canvas.telemetry.Telemetry
-
Emitted by every node (including the origin) when an op is delivered locally.
- describeInterfaces() - Static method in class utils.InterfaceToIp
-
Logs every network interface and its IPv4 addresses (with up/loopback/virtual/ point-to-point flags) to help diagnose a wrong auto-selection.
- digest() - Method in class protocols.apps.canvas.PixelCanvas
-
Stable 64-bit digest of the visible canvas: FNV-1a over (index, argb) for every painted cell in row-major order.
- digest(long, long, int, int, long, String) - Method in class protocols.apps.canvas.telemetry.Telemetry
-
Periodic convergence digest of the local canvas.
- DigestTimer - Class in protocols.apps.canvas.timers
-
Fires periodically to make
CanvasAppemit a convergence digest of its local canvas to the telemetry log (seeCanvasApp.uponDigestTimer). - DigestTimer() - Constructor for class protocols.apps.canvas.timers.DigestTimer
E
- EMPTY - Static variable in class protocols.apps.canvas.PixelCanvas
-
Colour reported for a cell nobody has painted yet (transparent).
- encode(PaintOp) - Static method in class protocols.apps.canvas.CanvasPayload
-
Serialize a paint op to the bytes carried inside a broadcast message.
G
- getArgb() - Method in class protocols.apps.canvas.PaintOp
- getHeight() - Method in class protocols.apps.canvas.PixelCanvas
- getIpOfInterface(String) - Static method in class utils.InterfaceToIp
-
Returns the first non-loopback IPv4 address of
interfaceName, or null if it has none / does not exist. - getKind() - Method in class protocols.apps.canvas.messages.CanvasSyncMessage
- getOpId() - Method in class protocols.apps.canvas.PaintOp
- getOps() - Method in class protocols.apps.canvas.messages.CanvasSyncMessage
- getOriginId() - Method in class protocols.apps.canvas.PaintOp
- getTimestamp() - Method in class protocols.apps.canvas.PaintOp
- getUiPort() - Method in class protocols.apps.canvas.CanvasApp
- getWidth() - Method in class protocols.apps.canvas.PixelCanvas
- getX() - Method in class protocols.apps.canvas.PaintOp
- getY() - Method in class protocols.apps.canvas.PaintOp
I
- init(Properties) - Method in class protocols.apps.canvas.CanvasApp
- InterfaceToIp - Class in utils
-
Resolves the process-wide bind address (
babel.address) the node binds and announces on. - isNewerThan(PaintOp) - Method in class protocols.apps.canvas.PaintOp
-
Total, deterministic last-writer-wins order: this op beats
otheriff it has a strictly higher timestamp, or an equal timestamp and a greateroriginId, or equal on both and a greateropId. - isUiEnabled() - Method in class protocols.apps.canvas.CanvasApp
M
- main(String[]) - Static method in class Main
- Main - Class in Unnamed Package
-
Entry point for babel-canvas — a peer-to-peer collaborative pixel canvas.
- Main() - Constructor for class Main
- mergeSnapshot(List<PaintOp>) - Method in class protocols.apps.canvas.PixelCanvas
-
Merge a peer's snapshot into this canvas under LWW.
- MSG_ID - Static variable in class protocols.apps.canvas.messages.CanvasSyncMessage
N
- neighborDown(String, int) - Method in class protocols.apps.canvas.telemetry.Telemetry
- neighborUp(String, int) - Method in class protocols.apps.canvas.telemetry.Telemetry
P
- paintedCount() - Method in class protocols.apps.canvas.PixelCanvas
-
Number of cells that have been painted at least once.
- paintFromUi(int, int, int) - Method in class protocols.apps.canvas.CanvasApp
-
Paint a cell from the web UI.
- PaintOp - Class in protocols.apps.canvas
-
A single paint operation: "cell (
x,y) becomes colourargb". - PaintOp(int, int, int, long, String, UUID) - Constructor for class protocols.apps.canvas.PaintOp
- paintStart(int, long, String) - Method in class protocols.apps.canvas.telemetry.Telemetry
-
The local node began its paint workload.
- PAR_ANTIENTROPY_ENABLED - Static variable in class Main
-
Property key — load and wire the anti-entropy reconciliation protocol.
- PAR_DEFAULT_BABEL_PORT - Static variable in class Main
-
Default value for the TCP port (
Babel.PAR_DEFAULT_PORT, i.e. - PAR_DIGEST_INTERVAL - Static variable in class protocols.apps.canvas.CanvasApp
-
Property key — period (ms) between convergence-digest telemetry lines;
<= 0disables. - PAR_HEIGHT - Static variable in class protocols.apps.canvas.CanvasApp
-
Property key — shared grid height in cells.
- PAR_SNAPSHOT_SYNC - Static variable in class protocols.apps.canvas.CanvasApp
-
Property key — request a canvas snapshot from a neighbour on join.
- PAR_UI_ENABLED - Static variable in class protocols.apps.canvas.CanvasApp
-
Property key — enable the embedded web UI.
- PAR_UI_OPEN - Static variable in class protocols.apps.canvas.CanvasApp
-
Property key — open the system browser at the UI on startup (best-effort).
- PAR_UI_PORT - Static variable in class protocols.apps.canvas.CanvasApp
-
Property key — web UI port.
- PAR_WIDTH - Static variable in class protocols.apps.canvas.CanvasApp
-
Property key — shared grid width in cells.
- PAR_WORKLOAD_CONTROL_FILE - Static variable in class protocols.apps.canvas.CanvasApp
-
Property key — shared control file (RUN/STOP) the experiment script drives; empty = legacy timer mode.
- PAR_WORKLOAD_CONTROL_POLL_MS - Static variable in class protocols.apps.canvas.CanvasApp
-
Property key — how often (ms) to poll the control file in coordinated mode.
- PAR_WORKLOAD_DURATION - Static variable in class protocols.apps.canvas.CanvasApp
-
Property key — how long (ms) to keep painting;
<= 0= until stopped. - PAR_WORKLOAD_ENABLED - Static variable in class protocols.apps.canvas.CanvasApp
-
Property key — enable the headless random-paint workload driver.
- PAR_WORKLOAD_RATE - Static variable in class protocols.apps.canvas.CanvasApp
-
Property key — workload paint operations per second.
- PAR_WORKLOAD_START_DELAY - Static variable in class protocols.apps.canvas.CanvasApp
-
Property key — delay (ms) before the first workload paint, to let the overlay form.
- PixelCanvas - Class in protocols.apps.canvas
-
The shared pixel grid: one
PaintOpwinner per cell under last-writer-wins (seePaintOp.isNewerThan(protocols.apps.canvas.PaintOp)). - PixelCanvas(int, int) - Constructor for class protocols.apps.canvas.PixelCanvas
- PROTO_ID - Static variable in class protocols.apps.canvas.CanvasApp
- PROTO_NAME - Static variable in class protocols.apps.canvas.CanvasApp
- protocols.apps.canvas - package protocols.apps.canvas
- protocols.apps.canvas.messages - package protocols.apps.canvas.messages
- protocols.apps.canvas.telemetry - package protocols.apps.canvas.telemetry
- protocols.apps.canvas.timers - package protocols.apps.canvas.timers
- protocols.apps.canvas.ui - package protocols.apps.canvas.ui
R
- readFrom(DataInputStream) - Static method in class protocols.apps.canvas.PaintOp
-
Read one op previously written by
PaintOp.writeTo(java.io.DataOutputStream). - REPLY - Enum constant in enum class protocols.apps.canvas.messages.CanvasSyncMessage.Kind
- REQUEST - Enum constant in enum class protocols.apps.canvas.messages.CanvasSyncMessage.Kind
- resolveBindAddress(Properties) - Static method in class utils.InterfaceToIp
-
Resolve the process-wide bind address into
babel.address(see the class javadoc for the precedence).
S
- serializer - Static variable in class protocols.apps.canvas.messages.CanvasSyncMessage
- snapshotArgb() - Method in class protocols.apps.canvas.PixelCanvas
-
The grid as a row-major array of ARGB colours,
PixelCanvas.EMPTYfor unpainted cells. - snapshotOps() - Method in class protocols.apps.canvas.PixelCanvas
-
All current winning ops (one per painted cell) — used to seed a joining peer.
- start() - Method in class protocols.apps.canvas.ui.WebUi
-
Bind and start serving.
- start(int, int, String, int, boolean) - Method in class protocols.apps.canvas.telemetry.Telemetry
-
Once at startup: records this node's identity and the run's key parameters.
- stateJson() - Method in class protocols.apps.canvas.CanvasApp
-
A JSON snapshot of canvas + neighbours for the web UI's polling loop.
- stop() - Method in class protocols.apps.canvas.ui.WebUi
- syncMerge(String, int, int, int) - Method in class protocols.apps.canvas.telemetry.Telemetry
-
This node merged a snapshot reply from
from:opsops received,appliedof them won LWW (state this node obtained by reconciliation rather than gossip — invisible to thedeliveredcounter and DELIVER lines). - syncRequest(String) - Method in class protocols.apps.canvas.telemetry.Telemetry
-
This node asked
peerfor a canvas snapshot (point-to-point, once it has a neighbour). - syncServe(String, int) - Method in class protocols.apps.canvas.telemetry.Telemetry
-
This node served its canvas snapshot (
opswinning ops) toto.
T
- Telemetry - Class in protocols.apps.canvas.telemetry
-
Structured, machine-readable event emitter — the data contract between the canvas demo and the
babel-canvas-experimentscorrectness harness. - Telemetry(String) - Constructor for class protocols.apps.canvas.telemetry.Telemetry
- TIMER_ID - Static variable in class protocols.apps.canvas.timers.ControlTimer
- TIMER_ID - Static variable in class protocols.apps.canvas.timers.DigestTimer
- TIMER_ID - Static variable in class protocols.apps.canvas.timers.WorkloadTimer
- toString() - Method in class protocols.apps.canvas.PaintOp
U
- utils - package utils
V
- valueOf(String) - Static method in enum class protocols.apps.canvas.messages.CanvasSyncMessage.Kind
-
Returns the enum constant of this class with the specified name.
- values() - Static method in enum class protocols.apps.canvas.messages.CanvasSyncMessage.Kind
-
Returns an array containing the constants of this enum class, in the order they are declared.
W
- WebUi - Class in protocols.apps.canvas.ui
-
A tiny embedded web UI for the canvas, built on the JDK's bundled
HttpServerso the demo pulls in no HTTP dependency. - WebUi(int, CanvasApp) - Constructor for class protocols.apps.canvas.ui.WebUi
- workloadStop(long) - Method in class protocols.apps.canvas.telemetry.Telemetry
-
The local node stopped generating paint ops — on the script's STOP (or the in-node duration safety-cap), before the drain window.
- WorkloadTimer - Class in protocols.apps.canvas.timers
-
Fires at the configured paint rate to make
CanvasAppgenerate one random paint operation in headless workload mode (seeCanvasApp.uponWorkloadTimer). - WorkloadTimer() - Constructor for class protocols.apps.canvas.timers.WorkloadTimer
- writeTo(DataOutputStream) - Method in class protocols.apps.canvas.PaintOp
-
Append this op to
out(seePaintOp.readFrom(java.io.DataInputStream)for the inverse).
All Classes and Interfaces|All Packages|Constant Field Values