import { WgpsMessenger } from "https://deno.land/x/willow@0.2.1/mod.browser.ts";
Coordinates an open-ended synchronisation session between two peers using the Willow General Purpose Sync Protocol.
Constructors
new
WgpsMessenger(opts: WgpsMessengerOpts<ReadCapability, Receiver, SyncSignature, ReceiverSecretKey, PsiGroup, PsiScalar, SubspaceCapability, SubspaceReceiver, SyncSubspaceSignature, SubspaceSecretKey, Prefingerprint, Fingerprint, AuthorisationToken, StaticToken, DynamicToken, NamespaceId, SubspaceId, PayloadDigest, AuthorisationOpts>)Properties
private
announcer: Announcer<Prefingerprint, Fingerprint, AuthorisationToken, StaticToken, DynamicToken, NamespaceId, SubspaceId, PayloadDigest, AuthorisationOpts>private
aoiIntersectionFinder: AoiIntersectionFinder<NamespaceId, SubspaceId>private
capFinder: CapFinder<ReadCapability, Receiver, SyncSignature, ReceiverSecretKey, NamespaceId, SubspaceId, PayloadDigest>private
currentlyReceivedEntry: Entry<NamespaceId, SubspaceId, PayloadDigest>private
currentlyReceivingEntries: { namespace: NamespaceId; range: Range3d<SubspaceId>; remaining: bigint; } | undefinedprivate
currentlySentEntry: Entry<NamespaceId, SubspaceId, PayloadDigest>private
dataPayloadIngester: PayloadIngester<Prefingerprint, Fingerprint, AuthorisationToken, NamespaceId, SubspaceId, PayloadDigest, AuthorisationOpts>private
dataSender: DataSender<Prefingerprint, Fingerprint, AuthorisationToken, DynamicToken, NamespaceId, SubspaceId, PayloadDigest, AuthorisationOpts>private
encoder: MessageEncoder<ReadCapability, Receiver, SyncSignature, ReceiverSecretKey, PsiGroup, PsiScalar, SubspaceCapability, SubspaceReceiver, SyncSubspaceSignature, SubspaceSecretKey, Prefingerprint, Fingerprint, AuthorisationToken, StaticToken, DynamicToken, NamespaceId, SubspaceId, PayloadDigest, AuthorisationOpts>private
getStore: GetStoreFn<Prefingerprint, Fingerprint, AuthorisationToken, AuthorisationOpts, NamespaceId, SubspaceId, PayloadDigest>private
handlesAoisOurs: HandleStore<AreaOfInterest<SubspaceId>>private
handlesAoisTheirs: HandleStore<AreaOfInterest<SubspaceId>>private
handlesCapsOurs: HandleStore<ReadCapability>private
handlesCapsTheirs: HandleStore<ReadCapability>private
handlesIntersectionsOurs: HandleStore<Intersection<PsiGroup>>private
handlesIntersectionsTheirs: HandleStore<Intersection<PsiGroup>>private
handlesPayloadRequestsOurs: HandleStore<{ offset: bigint; entry: Entry<NamespaceId, SubspaceId, PayloadDigest>; }>private
handlesPayloadRequestsTheirs: HandleStore<{ offset: bigint; entry: Entry<NamespaceId, SubspaceId, PayloadDigest>; }>private
handlesStaticTokensOurs: HandleStore<StaticToken>private
handlesStaticTokensTheirs: HandleStore<StaticToken>private
inChannelAreaOfInterest: FIFO<AreaOfInterestChannelMsg<SubspaceId>>private
inChannelCapability: FIFO<CapabilityChannelMsg<ReadCapability, SyncSignature>>private
inChannelData: FIFO<DataChannelMsg<DynamicToken, NamespaceId, SubspaceId, PayloadDigest>>private
inChannelIntersection: FIFO<IntersectionChannelMsg<PsiGroup>>private
inChannelNone: FIFO<NoChannelMsg<PsiGroup, SubspaceCapability, SyncSubspaceSignature>>private
inChannelPayloadRequest: FIFO<PayloadRequestChannelMsg<NamespaceId, SubspaceId, PayloadDigest>>private
inChannelReconciliation: FIFO<ReconciliationChannelMsg<DynamicToken, Fingerprint, NamespaceId, SubspaceId, PayloadDigest>>private
inChannelStaticToken: FIFO<StaticTokenChannelMsg<StaticToken>>private
interests: Map<ReadAuthorisation<ReadCapability, SubspaceCapability>, AreaOfInterest<SubspaceId>[]>private
outChannelAreaOfInterest: GuaranteedQueueprivate
outChannelCapability: GuaranteedQueueprivate
outChannelData: GuaranteedQueueprivate
outChannelIntersection: GuaranteedQueueprivate
outChannelPayloadRequest: GuaranteedQueueprivate
outChannelReconciliation: GuaranteedQueueprivate
outChannelStaticToken: GuaranteedQueueprivate
paiFinder: PaiFinder<ReadCapability, PsiGroup, PsiScalar, SubspaceCapability, NamespaceId, SubspaceId>private
reconcilerMap: ReconcilerMap<NamespaceId, SubspaceId, PayloadDigest, AuthorisationOpts, AuthorisationToken, Prefingerprint, Fingerprint>private
reconciliationPayloadIngester: PayloadIngester<Prefingerprint, Fingerprint, AuthorisationToken, NamespaceId, SubspaceId, PayloadDigest, AuthorisationOpts>private
schemes: SyncSchemes<ReadCapability, Receiver, SyncSignature, ReceiverSecretKey, PsiGroup, PsiScalar, SubspaceCapability, SubspaceReceiver, SyncSubspaceSignature, SubspaceSecretKey, Prefingerprint, Fingerprint, AuthorisationToken, StaticToken, DynamicToken, NamespaceId, SubspaceId, PayloadDigest, AuthorisationOpts>private
transport: ReadyTransportMethods
private
handleMsg(message: NoChannelMsg<PsiGroup, SubspaceCapability, SyncSubspaceSignature>)private
handleMsgAreaOfInterest(message: AreaOfInterestChannelMsg<SubspaceId>)private
handleMsgCapability(message: CapabilityChannelMsg<ReadCapability, SyncSignature>)private
handleMsgData(message: DataChannelMsg<DynamicToken, NamespaceId, SubspaceId, PayloadDigest>)private
handleMsgIntersection(message: IntersectionChannelMsg<PsiGroup>)private
handleMsgPayloadRequest(message: PayloadRequestChannelMsg<NamespaceId, SubspaceId, PayloadDigest>)private
handleMsgReconciliation(message: ReconciliationChannelMsg<DynamicToken, Fingerprint, NamespaceId, SubspaceId, PayloadDigest>)private
handleMsgStaticToken(message: StaticTokenChannelMsg<StaticToken>)private
initiate()private
setupData()private
setupPai(authorisations: ReadAuthorisation<ReadCapability, SubspaceCapability>[])private
setupReconciliation()close()