UNPKG

@syncable/server

Version:
35 lines (34 loc) 1.76 kB
import { ChangePacket, ClientRPCDefinition, ConnectionRPCDefinition, ISyncableAdapter, IViewQuery, RPCPeer, RPCPeerType, SyncableRef, ViewQueryUpdateObject } from '@syncable/core'; import { Observable } from 'rxjs'; import { Dict } from 'tslang'; import { BroadcastChangeResult, IServerGenericParams, Server } from '../server'; import { IConnectionAdapter } from './connection-adapter'; export declare class Connection<TGenericParams extends IServerGenericParams = IServerGenericParams> extends RPCPeer<ClientRPCDefinition | TGenericParams['customClientRPCDefinition']> implements RPCPeerType<ConnectionRPCDefinition> { readonly server: Server<TGenericParams>; readonly group: string; private connectionAdapter; private syncableAdapter; readonly context: TGenericParams['context']; readonly close$: Observable<void>; private container; private nameToViewQueryInfoMap; private nameToContextDependencyRefsMap; private loadedKeySet; private sanitizedFieldNamesMap; private pendingChangePacketIdSet; private loadingScheduler; private subscription; private initializeSubject$; readonly ready: Promise<void>; constructor(server: Server<TGenericParams>, group: string, connectionAdapter: IConnectionAdapter<TGenericParams>, syncableAdapter: ISyncableAdapter); private get viewQueryFilter(); dispose(): void; handleBroadcastChangeResult(result: BroadcastChangeResult): void; initialize(viewQueryDict: Dict<IViewQuery>): Promise<void>; 'apply-change'(packet: ChangePacket): Promise<void>; 'request-syncables'(refs: SyncableRef[]): Promise<void>; 'update-view-query'(update: ViewQueryUpdateObject): Promise<void>; private change; private query; private request; }