Leaf
    Preparing search index...

    Interface Sync1Interface

    An implementation of an entity synchronizer. A synchronizer allows you to sync entities with other peers, possibly over the network, etc.

    Different syncers can be used to sync an entity across different protocols or connection types.

    interface Sync1Interface {
        sendUpdate(entityId: `leaf:${string}`, update: Uint8Array): void;
        subscribe(
            entityId: `leaf:${string}`,
            localSnapshot: Uint8Array,
            handleUpdate: Subscriber,
        ): () => void;
    }

    Implemented by

    Index

    Methods

    • Send an update for a given entity. This must be called to send local changes to remote peers.

      Parameters

      • entityId: `leaf:${string}`
      • update: Uint8Array

      Returns void

    • Subscribe to updates for a given entity.

      Every time the sync interface has an update for the entity it will call handleUpdate, passing it the entity ID and the update.

      Parameters

      • entityId: `leaf:${string}`

        The entity ID to subscribe to.

      • localSnapshot: Uint8Array

        The latest snapshot that the subscriber has locally.

      • handleUpdate: Subscriber

        The handler function to be invoked when the sync interface has a new update.

      Returns () => void

      Returns a function that may be called to unsubscribe.