Docs / Realtime

Realtime

Events

Woven relays application-defined event bytes among clients admitted to the same managed session and subscribed to the same logical or spatial space. Woven Host manages that scope but is not the data-plane relay. Events are live, scoped publishes rather than direct peer messages, stored records, or delivery receipts.

Two fixed managed channel policies are supported. Channel 1uses ReliableOrdered delivery; channel 4 uses UnreliableSequenced delivery. Both use Ephemeral persistence and a 64 KiB payload ceiling for generic opaque bytes. Use only channels listed in the Host connection descriptor; channels 2 and 3 are not allowed.

Publish through the admitted scope

  1. Complete managed admission for the descriptor's namespaceId andsessionId. An admitted result has already joined the session.
  2. Call subscribe_space with one of the descriptor's spaces, epoch1, and channel 1. Receive SubscriptionAccepted andEntityEntered to obtain the server-assigned entity ID.
  3. Call publish_event with that exact namespace, session, space, epoch, channel, and entity. Supply an application type_id, opaque payload bytes, and a sequence that increases strictly for the connection, space, epoch, entity, and channel.

This walkthrough uses channel 1's reliable event path. Channel 4 requires protocol-valid unreliable binary publishes and Woven's required coalescing metadata. Use the client's unreliable publish path, not publish_event or a reliable fallback. Every publish must match the server-controlled channel definition.

Routing outcome versus peer receipt

In logical spaces, BroadcastAll routing selects eligible current subscribers. ReliableOrdered events also use subscriber-wide routing in spatial spaces, bypassing interest filtering. Positioned replaceable state follows the server-defined spatial interest policy instead. Woven attempts to enqueue one outbound message per selected recipient; this covers routing and bounded queueing, not confirmed peer receipt. Applications that require peer receipt use their own acknowledgement event.

ReliableOrdered
Uses Woven's critical outbound queue and ordered transport path. If a recipient's critical queue is exhausted, Woven disconnects that slow consumer rather than claiming successful peer delivery.
UnreliableSequenced
Uses unreliable datagrams; updates may be lost, dropped, or coalesced. The encoded frame must fit the transport's current datagram budget, which can be much smaller than the 64 KiB channel ceiling. There is no reliable-stream fallback or peer receipt guarantee.
Ephemeral
Delivery considers only clients subscribed when routing occurs. Replay after a disconnect or runtime loss belongs to the Persistence Preview.
Space-scoped routing
publish_event addresses a managed space and channel. Recipients must be subscribed within that scope; spatial interest filtering applies to replaceable state, not reliable ordered events.

Review managed sessionsfor admission and scope, then use the Online Spatial Subspacesdefinitions returned by Host for managed 3D routing.