Delivery

A delivery is a routing configuration: publishers write state over HTTP, and deliveries decide which matching object updates go to subscribers. Clients connect to a delivery (most often over WebSocket); they do not subscribe to individual objects one by one unless the delivery’s object patterns say so.

Use separate deliveries when different clients need different feeds—for example a live dashboard that watches a chart namespace, a mobile app with a narrower pattern, or staging versus production channels. That keeps each connection scoped to the objects it should see instead of pushing every update to every subscriber.

Channel types#

Each delivery has a display name, a channel type, and objects patterns:

WebSocket (type 1)

Push matching updates to connected clients in real time.

HTTP (type 2)

Deliver updates over an HTTP-based channel.

File (type 3)

Write matching updates through a file delivery channel.

The objects list selects which object names are included (exact names or patterns such as *). Prefer narrow patterns so a subscriber only receives the streams it needs.

HTTP remains the source of truth for state. Delivery notifies consumers that something changed; they can always re-fetch the latest or a specific version when they need the authoritative value.

When to use these endpoints#

  • Create a delivery once from a trusted environment before clients connect
  • Change object patterns or channel type when the feed should grow or shrink
  • List deliveries with a glob-style pattern when managing many channels
  • Delete a delivery you no longer need (connected clients will stop receiving that feed)

For a first live subscribe loop, see Deliver and read state and WebSocket delivery.

Endpoints#

© 2024 BigState