Skip to content

BlockSuite API Documentation / @blocksuite/sync / DocEngine

Class: DocEngine

Defined in: doc/engine.ts:47

DocEngine

                   ┌────────────┐
                   │  DocEngine │
                   └─────┬──────┘


                   ┌────────────┐
                   │   DocPeer  │
         ┌─────────┤    main    ├─────────┐
         │         └─────┬──────┘         │
         │               │                │
         ▼               ▼                ▼
  ┌────────────┐   ┌────────────┐   ┌────────────┐
  │   DocPeer  │   │   DocPeer  │   │   DocPeer  │
  │   shadow   │   │   shadow   │   │   shadow   │
  └────────────┘   └────────────┘   └────────────┘

doc engine manage doc peers

Sync steps:

  1. start main sync
  2. wait for main sync complete
  3. start shadow sync
  4. continuously sync main and shadows

Constructors

new DocEngine()

new DocEngine(rootDoc, main, shadows, logger): DocEngine

Defined in: doc/engine.ts:64

Parameters

rootDoc

Doc

main

DocSource

shadows

DocSource[]

logger

Logger

Returns

DocEngine

Properties

logger

readonly logger: Logger

Defined in: doc/engine.ts:68


main

readonly main: DocSource

Defined in: doc/engine.ts:66


onStatusChange

readonly onStatusChange: Subject<DocEngineStatus>

Defined in: doc/engine.ts:52


priorityTarget

readonly priorityTarget: SharedPriorityTarget

Defined in: doc/engine.ts:54


rootDoc

readonly rootDoc: Doc

Defined in: doc/engine.ts:65


shadows

readonly shadows: DocSource[]

Defined in: doc/engine.ts:67

Accessors

rootDocId

Get Signature

get rootDocId(): string

Defined in: doc/engine.ts:56

Returns

string


status

Get Signature

get status(): DocEngineStatus

Defined in: doc/engine.ts:60

Returns

DocEngineStatus

Methods

canGracefulStop()

canGracefulStop(): boolean

Defined in: doc/engine.ts:85

Returns

boolean


forceStop()

forceStop(): void

Defined in: doc/engine.ts:89

Returns

void


setPriorityRule()

setPriorityRule(target): void

Defined in: doc/engine.ts:99

Parameters

target

null | (id) => boolean

Returns

void


start()

start(): void

Defined in: doc/engine.ts:103

Returns

void


sync()

sync(signal): Promise<void>

Defined in: doc/engine.ts:116

Parameters

signal

AbortSignal

Returns

Promise<void>


updateSyncingState()

updateSyncingState(local, shadows): void

Defined in: doc/engine.ts:194

Parameters

local

null | SyncPeer

shadows

(null | SyncPeer)[]

Returns

void


waitForGracefulStop()

waitForGracefulStop(abort?): Promise<void>

Defined in: doc/engine.ts:213

Parameters

abort?

AbortSignal

Returns

Promise<void>


waitForLoadedRootDoc()

waitForLoadedRootDoc(abort?): Promise<unknown>

Defined in: doc/engine.ts:235

Parameters

abort?

AbortSignal

Returns

Promise<unknown>


waitForSynced()

waitForSynced(abort?): Promise<unknown>

Defined in: doc/engine.ts:264

Parameters

abort?

AbortSignal

Returns

Promise<unknown>