BlockSuite API Documentation / @blocksuite/sync / SyncPeer
Class: SyncPeer
Defined in: doc/peer.ts:54
DocPeer
A DocPeer is responsible for syncing one Storage with one Y.Doc and its subdocs.
┌─────┐
│Start│
└──┬──┘
│
┌──────┐ ┌─────▼──────┐ ┌────┐
│listen◄─────┤pull rootdoc│ │peer│
└──┬───┘ └─────┬──────┘ └──┬─┘
│ │ onLoad() │
┌──▼───┐ ┌─────▼──────┐ ┌────▼────┐
│listen◄─────┤pull subdocs│ │subscribe│
└──┬───┘ └─────┬──────┘ └────┬────┘
│ │ onReady() │
┌──▼──┐ ┌─────▼───────┐ ┌──▼──┐
│queue├──────►apply updates◄───────┤queue│
└─────┘ └─────────────┘ └─────┘listen: listen for updates from ydoc, typically from user modifications. subscribe: listen for updates from storage, typically from other users.
Constructors
new SyncPeer()
new SyncPeer(
rootDoc,source,priorityTarget,logger):SyncPeer
Defined in: doc/peer.ts:153
Parameters
rootDoc
Doc
source
priorityTarget
SharedPriorityTarget = ...
logger
Logger
Returns
SyncPeer
Properties
abort
readonlyabort:AbortController
Defined in: doc/peer.ts:63
logger
readonlylogger:Logger
Defined in: doc/peer.ts:157
onStatusChange
readonlyonStatusChange:Subject<DocPeerStatus>
Defined in: doc/peer.ts:113
priorityTarget
readonlypriorityTarget:SharedPriorityTarget
Defined in: doc/peer.ts:156
rootDoc
readonlyrootDoc:Doc
Defined in: doc/peer.ts:154
source
readonlysource:DocSource
Defined in: doc/peer.ts:155
state
readonlystate:object
Defined in: doc/peer.ts:115
connectedDocs
connectedDocs:
Map<string,Doc>
pullUpdatesQueue
pullUpdatesQueue:
PriorityAsyncQueue<{data:Uint8Array;id:string; }>
pushingUpdate
pushingUpdate:
boolean
pushUpdatesQueue
pushUpdatesQueue:
PriorityAsyncQueue<{data:Uint8Array<ArrayBufferLike>[];id:string; }>
subdocLoading
subdocLoading:
boolean
subdocsLoadQueue
subdocsLoadQueue:
PriorityAsyncQueue<{doc:Doc;id:string; }>
Accessors
name
Get Signature
get name():
string
Defined in: doc/peer.ts:137
Returns
string
Methods
connectDoc()
connectDoc(
doc,abort):Promise<void>
Defined in: doc/peer.ts:167
Parameters
doc
Doc
abort
AbortSignal
Returns
Promise<void>
disconnectDoc()
disconnectDoc(
doc):void
Defined in: doc/peer.ts:193
Parameters
doc
Doc
Returns
void
handleStorageUpdates()
handleStorageUpdates(
id,data):void
Defined in: doc/peer.ts:66
Parameters
id
string
data
Uint8Array
Returns
void
handleSubdocsUpdate()
handleSubdocsUpdate(
__namedParameters):void
Defined in: doc/peer.ts:75
Parameters
__namedParameters
added
Set<Doc>
removed
Set<Doc>
Returns
void
handleYDocUpdates()
handleYDocUpdates(
update,origin,doc):void
Defined in: doc/peer.ts:94
Parameters
update
Uint8Array
origin
string
doc
Doc
Returns
void
initState()
initState():
void
Defined in: doc/peer.ts:199
Returns
void
stop()
stop():
void
Defined in: doc/peer.ts:213
stop sync
DocPeer is one-time use, this peer should be discarded after call stop().
Returns
void
sync()
sync(
abortOuter):Promise<void>
Defined in: doc/peer.ts:221
main synchronization logic
Parameters
abortOuter
AbortSignal
Returns
Promise<void>
syncRetryLoop()
syncRetryLoop(
abort):Promise<void>
Defined in: doc/peer.ts:331
auto retry after 5 seconds if sync failed
Parameters
abort
AbortSignal
Returns
Promise<void>
updateSyncStatus()
updateSyncStatus():
void
Defined in: doc/peer.ts:376
Returns
void
waitForLoaded()
waitForLoaded(
abort?):Promise<void>
Defined in: doc/peer.ts:404
Parameters
abort?
AbortSignal
Returns
Promise<void>
waitForSynced()
waitForSynced(
abort?):Promise<void>
Defined in: doc/peer.ts:428
Parameters
abort?
AbortSignal
Returns
Promise<void>