Skip to main content
Module

x/earthstar_replica_server/deps.ts>Earthstar.Peer

An always-online Earthstar peer for your shares.
Latest
class Earthstar.Peer
implements IPeer
Re-export
import { Earthstar } from "https://deno.land/x/earthstar_replica_server@4.0.0-beta.1/deps.ts";
const { Peer } = Earthstar;

Holds many shares' replicas and manages their synchronisation with other peers. Recommended as the point of contact between your application and Earthstar shares.

Constructors

new
Peer()

Properties

private
replicaEventBus: BlockingBus<Map<ShareAddress, Replica>>
private
syncerManager: SyncerManager
replicaMap: Map<ShareAddress, Replica>

A map of the replicas stored in this peer.

Methods

addReplica(replica: Replica): Promise<void>
addSyncPartner<I, F>(
partner: ISyncPartner<I>,
description: string,
formats?: FormatsArg<F>,
)

Begin syncing using an instance implementing ISyncPartner. Use this if you don't want to sync with a local peer or a replica server.

getReplica(ws: ShareAddress): Replica | undefined

Get all syncers created by this peer. This includes running and cancelled syncers.

hasShare(share: ShareAddress): boolean
onReplicasChange(callback: (map: Map<ShareAddress, Replica>) => void | Promise<void>)

Fires a given callback whenever the Peer's store of replicas changes.

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

Fires a given callback whenever a new syncer is added to the peer.

removeReplica(replica: Replica): Promise<void>
removeReplicaByShare(share: ShareAddress): Promise<void>
size(): number

The number of replicas held by this peer

sync<F>(
target: IPeer | string,
continuous?,
formats?: FormatsArg<F>,
): Syncer<undefined, F>

Begin synchronising with a remote or local peer.