Skip to main content
Module

x/earthstar/src/syncer/syncer_manager.ts>SyncerManager

Storage for private, distributed, offline-first applications.
Latest
class SyncerManager
import { SyncerManager } from "https://deno.land/x/earthstar@v10.2.2/src/syncer/syncer_manager.ts";

Constructors

new
SyncerManager(peer: IPeer)

Properties

private
docThumbnailTreeAndLookup: Map<DocThumbnailTreeKey, [DocThumbnailTree, DocThumbnailHashToDocLookup]>

DocThumbnail

private
hasher: XXH64

We use this for creating doc thumbnails during tree generation.

private
plumTrees: Map<ShareAddress, PlumTree>
private
syncerEventBus: BlockingBus<Map<string, { description: string; syncer: Syncer<unknown, unknown>; }>>
private
syncers: Map<string, { description: string; syncer: Syncer<unknown, unknown>; }>

A map of syncer IDs to syncers

peer: IPeer

Methods

addPartner<I, F>(
partner: ISyncPartner<I>,
description: string,
formats?: FormatsArg<F>,
): Syncer<I, F>
getDocThumbnailTreeAndDocLookup<F>(share: ShareAddress, formats: FormatsArg<F>): { tree: DocThumbnailTree; lookup: DocThumbnailHashToDocLookup; treeIsReady: Promise<true>; }

Create or retrieve an existing DocThumbnailTree for use with range-based reconciliation.

Returns a record of syncers with their given descriptions as keys.

onSyncersChange(callback: (map: Map<string, { description: string; syncer: Syncer<unknown, unknown>; }>) => void | Promise<void>)