Class Main


public class Main extends Object
Entry point for babel-canvas — a peer-to-peer collaborative pixel canvas.

The demo composes the real ParadigmShift overlay stack and lets the Babel runtime wire it together through asynchronous events:

  1. HyParView — partial-view membership (the gossip overlay), which auto-discovers peers on the LAN (it's a DiscoverableProtocol);
  2. EagerPushGossipBroadcast — disseminates paint operations to the overlay;
  3. AntiEntropy — optional bloom-filter reconciliation that recovers missed paint ops (enabled with canvas.antientropy.enabled);
  4. CanvasApp — the collaborative canvas + web UI on top.

Launch: java -jar babel-canvas.jar [babel.port=<port>] [babel.interface=<nic>] [babel.address=<ip>] [HyParView.contact=<host>:<port>] [canvas.ui.port=<port>]. To run several nodes on one machine, give each a distinct babel.port spaced by ≥ 10 (eager-push binds babel.port+1 in the default offset mode) and a distinct babel.discovery.unicast.port.

  • Field Details

    • PAR_DEFAULT_BABEL_PORT

      public static final String PAR_DEFAULT_BABEL_PORT
      Default value for the TCP port (Babel.PAR_DEFAULT_PORT, i.e. babel.port) HyParView binds. babel-core owns the key but defines no default value, so the demo supplies one here.
      See Also:
    • PAR_ANTIENTROPY_ENABLED

      public static final String PAR_ANTIENTROPY_ENABLED
      Property key — load and wire the anti-entropy reconciliation protocol. When true, Main turns on EagerPushGossipBroadcast.SupportAntiEntropy and gives AntiEntropy its own channel at babel.port + 2.
      See Also:
  • Constructor Details

    • Main

      public Main()
  • Method Details