@ibgib/core-gib 0.1.23 → 0.1.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/other/graph-helper.d.mts +17 -0
- package/dist/common/other/graph-helper.d.mts.map +1 -1
- package/dist/common/other/graph-helper.mjs +44 -0
- package/dist/common/other/graph-helper.mjs.map +1 -1
- package/dist/common/other/ibgib-helper.d.mts +1 -1
- package/dist/common/other/ibgib-helper.d.mts.map +1 -1
- package/dist/common/other/ibgib-helper.mjs.map +1 -1
- package/dist/sync/graft-info/graft-info-helpers.mjs +2 -2
- package/dist/sync/graft-info/graft-info-helpers.mjs.map +1 -1
- package/dist/sync/sync-conflict.respec.mjs +10 -15
- package/dist/sync/sync-conflict.respec.mjs.map +1 -1
- package/dist/sync/sync-constants.d.mts +1 -0
- package/dist/sync/sync-constants.d.mts.map +1 -1
- package/dist/sync/sync-constants.mjs +1 -0
- package/dist/sync/sync-constants.mjs.map +1 -1
- package/dist/sync/sync-helpers.d.mts +5 -0
- package/dist/sync/sync-helpers.d.mts.map +1 -1
- package/dist/sync/sync-helpers.mjs +37 -1
- package/dist/sync/sync-helpers.mjs.map +1 -1
- package/dist/sync/sync-innerspace-constants.respec.mjs +10 -12
- package/dist/sync/sync-innerspace-constants.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace-deep-updates.respec.mjs +10 -12
- package/dist/sync/sync-innerspace-deep-updates.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace-dest-ahead.respec.mjs +10 -12
- package/dist/sync/sync-innerspace-dest-ahead.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace-multiple-timelines.respec.mjs +9 -12
- package/dist/sync/sync-innerspace-multiple-timelines.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace-partial-update.respec.mjs +9 -14
- package/dist/sync/sync-innerspace-partial-update.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace.respec.mjs +9 -12
- package/dist/sync/sync-innerspace.respec.mjs.map +1 -1
- package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-constants.d.mts +2 -0
- package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-constants.d.mts.map +1 -1
- package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-constants.mjs +4 -0
- package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-constants.mjs.map +1 -1
- package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.d.mts +24 -13
- package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.d.mts.map +1 -1
- package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mjs +176 -76
- package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mjs.map +1 -1
- package/dist/sync/sync-peer/sync-peer-types.d.mts +29 -6
- package/dist/sync/sync-peer/sync-peer-types.d.mts.map +1 -1
- package/dist/sync/sync-peer/sync-peer-v1.d.mts +38 -55
- package/dist/sync/sync-peer/sync-peer-v1.d.mts.map +1 -1
- package/dist/sync/sync-peer/sync-peer-v1.mjs +111 -244
- package/dist/sync/sync-peer/sync-peer-v1.mjs.map +1 -1
- package/dist/sync/sync-saga-context/sync-saga-context-helpers.d.mts +32 -1
- package/dist/sync/sync-saga-context/sync-saga-context-helpers.d.mts.map +1 -1
- package/dist/sync/sync-saga-context/sync-saga-context-helpers.mjs +96 -7
- package/dist/sync/sync-saga-context/sync-saga-context-helpers.mjs.map +1 -1
- package/dist/sync/sync-saga-coordinator.d.mts +59 -13
- package/dist/sync/sync-saga-coordinator.d.mts.map +1 -1
- package/dist/sync/sync-saga-coordinator.mjs +446 -304
- package/dist/sync/sync-saga-coordinator.mjs.map +1 -1
- package/dist/sync/sync-saga-message/sync-saga-message-types.d.mts +51 -6
- package/dist/sync/sync-saga-message/sync-saga-message-types.d.mts.map +1 -1
- package/dist/sync/sync-types.d.mts +35 -10
- package/dist/sync/sync-types.d.mts.map +1 -1
- package/dist/sync/sync-types.mjs +1 -2
- package/dist/sync/sync-types.mjs.map +1 -1
- package/package.json +1 -1
- package/src/common/other/graph-helper.mts +53 -0
- package/src/common/other/ibgib-helper.mts +1 -1
- package/src/sync/graft-info/graft-info-helpers.mts +3 -3
- package/src/sync/sync-conflict.respec.mts +10 -17
- package/src/sync/sync-constants.mts +1 -0
- package/src/sync/sync-helpers.mts +47 -7
- package/src/sync/sync-innerspace-constants.respec.mts +10 -12
- package/src/sync/sync-innerspace-deep-updates.respec.mts +10 -12
- package/src/sync/sync-innerspace-dest-ahead.respec.mts +10 -12
- package/src/sync/sync-innerspace-multiple-timelines.respec.mts +9 -12
- package/src/sync/sync-innerspace-partial-update.respec.mts +9 -14
- package/src/sync/sync-innerspace.respec.mts +9 -12
- package/src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-constants.mts +7 -0
- package/src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mts +200 -75
- package/src/sync/sync-peer/sync-peer-types.mts +35 -11
- package/src/sync/sync-peer/sync-peer-v1.mts +154 -257
- package/src/sync/sync-saga-context/sync-saga-context-helpers.mts +90 -13
- package/src/sync/sync-saga-coordinator.mts +536 -356
- package/src/sync/sync-saga-message/sync-saga-message-types.mts +56 -4
- package/src/sync/sync-types.mts +46 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-peer-innerspace-v1.d.mts","sourceRoot":"","sources":["../../../../src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-peer-innerspace-v1.d.mts","sourceRoot":"","sources":["../../../../src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAKzD,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAG,MAAM,qDAAqD,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAA6B,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACjK,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAYhE;;;GAGG;AACH,MAAM,WAAW,gCAAiC,SAAQ,sBAAsB;IAC5E;;OAEG;IACH,mBAAmB,EAAE,mBAAmB,CAAC;IACzC;;OAEG;IACH,iBAAiB,EAAE,gBAAgB,CAAC;IACpC;;OAEG;IACH,aAAa,EAAE,aAAa,CAAC;IAC7B;;OAEG;IACH,iBAAiB,CAAC,EAAE,aAAa,CAAC;CACrC;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,WAAW,CAAC,gCAAgC,CACnF,YAAW,0BAA0B;IAErC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAqC;IAEzD,IAAa,SAAS,IAAI,MAAM,CAE/B;gBAGG,WAAW,EAAE,yBAAyB,EACtC,aAAa,CAAC,EAAE,2BAA2B;cAKtB,uBAAuB,IAAI,OAAO,CAAC,aAAa,CAAC;cAkC1D,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAkKlH;;OAEG;cACa,QAAQ,CAAC,EACrB,KAAK,EACL,IAAI,EACJ,EAAE,EACL,EAAE;QACC,KAAK,EAAE,SAAS,EAAE,CAAC;QACnB,IAAI,EAAE,aAAa,CAAC;QACpB,EAAE,EAAE,aAAa,CAAA;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;CAkCpB"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module SyncPeerInnerspace_V1
|
|
3
3
|
*/
|
|
4
|
-
import { extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
4
|
+
import { delay, extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
5
5
|
import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
|
|
6
6
|
import { GLOBAL_LOG_A_LOT } from '../../../core-constants.mjs';
|
|
7
7
|
import { SyncPeer_V1 } from '../sync-peer-v1.mjs';
|
|
8
|
-
import { getFromSpace, putInSpace } from '../../../witness/space/space-helper.mjs';
|
|
8
|
+
import { getFromSpace, putInSpace, registerNewIbGib } from '../../../witness/space/space-helper.mjs';
|
|
9
|
+
import { getSyncSagaFrameDependencyGraph, putInSpace_dnasThenNonDnas } from '../../sync-helpers.mjs';
|
|
10
|
+
import { toDto } from '../../../common/other/ibgib-helper.mjs';
|
|
9
11
|
const logalot = GLOBAL_LOG_A_LOT || true;
|
|
10
12
|
const logalotControlDomain = true;
|
|
11
13
|
const lcControlDomain = '[ControlDomain]';
|
|
@@ -17,87 +19,40 @@ const lcControlDomain = '[ControlDomain]';
|
|
|
17
19
|
*/
|
|
18
20
|
export class SyncPeerInnerspace_V1 extends SyncPeer_V1 {
|
|
19
21
|
lc = `[${SyncPeerInnerspace_V1.name}]`;
|
|
20
|
-
/**
|
|
21
|
-
* specific to innerspace
|
|
22
|
-
*/
|
|
23
|
-
receiverCoordinator;
|
|
24
|
-
/**
|
|
25
|
-
* specific to innerspace
|
|
26
|
-
*/
|
|
27
|
-
receiverMetaspace;
|
|
28
|
-
receiverSpace;
|
|
29
|
-
receiverTempSpace;
|
|
30
22
|
get classname() {
|
|
31
23
|
return SyncPeerInnerspace_V1.name;
|
|
32
24
|
}
|
|
33
|
-
constructor(
|
|
34
|
-
super(
|
|
35
|
-
const { receiverCoordinator, receiverMetaspace, receiverSpace, receiverTempSpace } = opts;
|
|
36
|
-
this.receiverCoordinator = receiverCoordinator;
|
|
37
|
-
this.receiverMetaspace = receiverMetaspace;
|
|
38
|
-
this.receiverSpace = receiverSpace;
|
|
39
|
-
this.receiverTempSpace = receiverTempSpace;
|
|
25
|
+
constructor(initialData, initialRel8ns) {
|
|
26
|
+
super(initialData, initialRel8ns);
|
|
40
27
|
}
|
|
41
28
|
async ensureReceiverTempSpace() {
|
|
42
|
-
|
|
43
|
-
const { receiverMetaspace } = this;
|
|
44
|
-
const uuid = crypto.randomUUID ? crypto.randomUUID() : Math.random().toString(36);
|
|
45
|
-
const tempSpaceName = `tmp_sync_recv_${uuid.substring(0, 8)}`;
|
|
46
|
-
const receiverTempSpace = await this.receiverMetaspace.createNewLocalSpace({
|
|
47
|
-
opts: {
|
|
48
|
-
allowCancel: false,
|
|
49
|
-
spaceName: tempSpaceName,
|
|
50
|
-
getFnPrompt: this.receiverMetaspace.getFnPrompt,
|
|
51
|
-
logalot
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
if (!receiverTempSpace) {
|
|
55
|
-
throw new Error(`(UNEXPECTED) receiverTempSpace falsy? couldn't create a temp space? (E: a6b8f86b0f58384b884a33b82924b826)`);
|
|
56
|
-
}
|
|
57
|
-
await receiverTempSpace.initialized;
|
|
58
|
-
this.receiverTempSpace = receiverTempSpace;
|
|
59
|
-
}
|
|
60
|
-
return this.receiverTempSpace;
|
|
61
|
-
}
|
|
62
|
-
async push(addrs) {
|
|
63
|
-
const lc = `${this.lc}[${this.push.name}]`;
|
|
29
|
+
const lc = `${this.lc}[${this.ensureReceiverTempSpace.name}]`;
|
|
64
30
|
try {
|
|
65
31
|
if (logalot) {
|
|
66
|
-
console.log(`${lc} starting... (I:
|
|
67
|
-
}
|
|
68
|
-
// silly defensive checks because this has been a ridiculous development cycle
|
|
69
|
-
if (!this.senderSpace) {
|
|
70
|
-
throw new Error(`(UNEXPECTED) this.senderSpace falsy? (E: 503e288168f5d297f4d4e028bc538826)`);
|
|
71
|
-
}
|
|
72
|
-
if (!this.receiverSpace) {
|
|
73
|
-
throw new Error(`(UNEXPECTED) this.receiverSpace falsy? (E: 0bd7c1a0ba4868ac7a260e15b504e826)`);
|
|
32
|
+
console.log(`${lc} starting... (I: bab87f15dea77cd4892bd8a8d2e65826)`);
|
|
74
33
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
catch (error) {
|
|
78
|
-
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
79
|
-
throw error;
|
|
80
|
-
}
|
|
81
|
-
finally {
|
|
82
|
-
if (logalot) {
|
|
83
|
-
console.log(`${lc} complete.`);
|
|
34
|
+
if (!this.opts) {
|
|
35
|
+
throw new Error(`(UNEXPECTED) this.opts falsy? (E: 0f85bd4c3efdbee2a829aca860c48926)`);
|
|
84
36
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
37
|
+
if (!this.opts.receiverTempSpace) {
|
|
38
|
+
const { receiverMetaspace } = this.opts;
|
|
39
|
+
const uuid = crypto.randomUUID ? crypto.randomUUID() : Math.random().toString(36);
|
|
40
|
+
const tempSpaceName = `tmp_sync_recv_${uuid.substring(0, 8)}`;
|
|
41
|
+
const receiverTempSpace = await receiverMetaspace.createNewLocalSpace({
|
|
42
|
+
opts: {
|
|
43
|
+
allowCancel: false,
|
|
44
|
+
spaceName: tempSpaceName,
|
|
45
|
+
getFnPrompt: receiverMetaspace.getFnPrompt,
|
|
46
|
+
logalot
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
if (!receiverTempSpace) {
|
|
50
|
+
throw new Error(`(UNEXPECTED) receiverTempSpace falsy? couldn't create a temp space? (E: a6b8f86b0f58384b884a33b82924b826)`);
|
|
51
|
+
}
|
|
52
|
+
await receiverTempSpace.initialized;
|
|
53
|
+
this.opts.receiverTempSpace = receiverTempSpace;
|
|
99
54
|
}
|
|
100
|
-
|
|
55
|
+
return this.opts.receiverTempSpace;
|
|
101
56
|
}
|
|
102
57
|
catch (error) {
|
|
103
58
|
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
@@ -111,12 +66,17 @@ export class SyncPeerInnerspace_V1 extends SyncPeer_V1 {
|
|
|
111
66
|
}
|
|
112
67
|
async sendContextRequest(context) {
|
|
113
68
|
const lc = `${this.lc}[${this.sendContextRequest.name}]`;
|
|
114
|
-
const { receiverSpace, receiverCoordinator, receiverMetaspace } = this;
|
|
115
69
|
try {
|
|
70
|
+
if (!this.opts) {
|
|
71
|
+
throw new Error(`(UNEXPECTED) this.opts falsy? (E: d8b1348e3233810128999596b1fa5826)`);
|
|
72
|
+
}
|
|
73
|
+
const { senderSpace, senderTempSpace, receiverSpace, receiverCoordinator, receiverMetaspace, receiverTempSpace } = this.opts;
|
|
116
74
|
if (logalot) {
|
|
117
75
|
console.log(`${lc} starting...Context: ${getIbGibAddr({ ibGib: context })}`);
|
|
118
76
|
}
|
|
119
|
-
|
|
77
|
+
const { sagaFrame } = context;
|
|
78
|
+
// The context has already been validated, authenticated and authorized at this point.
|
|
79
|
+
// #region sanity validation assertions
|
|
120
80
|
if (!context.data) {
|
|
121
81
|
throw new Error(`(UNEXPECTED) context.data falsy? (E: 1d2ac8a9b991d451e8900588057fe626)`);
|
|
122
82
|
}
|
|
@@ -129,7 +89,147 @@ export class SyncPeerInnerspace_V1 extends SyncPeer_V1 {
|
|
|
129
89
|
if (!context.sagaFrame) {
|
|
130
90
|
throw new Error(`(UNEXPECTED) context.sagaFrame falsy? (E: 79cd98a6d9b88a591f4596c8bc58ff26)`);
|
|
131
91
|
}
|
|
132
|
-
|
|
92
|
+
if (!sagaFrame.data) {
|
|
93
|
+
throw new Error(`(UNEXPECTED) sagaFrame.data falsy? (E: f30e290a8b770e1b387377420ea73a26)`);
|
|
94
|
+
}
|
|
95
|
+
if (!sagaFrame.rel8ns) {
|
|
96
|
+
throw new Error(`(UNEXPECTED) sagaFrame.rel8ns falsy? (E: f888caa698b8cf6b4893b7fd6df09726)`);
|
|
97
|
+
}
|
|
98
|
+
if (!receiverTempSpace) {
|
|
99
|
+
throw new Error(`(UNEXPECTED) receiverTempSpace falsy? (E: 3b46d838f6fc645c58b29215bfddb826)`);
|
|
100
|
+
}
|
|
101
|
+
// #endregion sanity validation assertions
|
|
102
|
+
const { sagaIbGib: _alreadyHave, msgStones, identities } = await getSyncSagaFrameDependencyGraph({
|
|
103
|
+
sagaIbGib: sagaFrame,
|
|
104
|
+
localSpace: senderSpace,
|
|
105
|
+
});
|
|
106
|
+
if (msgStones.length !== 1) {
|
|
107
|
+
throw new Error(`(UNEXPECTED) msgStones.length !== 1? we're only geared for a single msg stone that is always present (not 0, not greater than 1) (E: 2d3138ed130f1aca116551889483e826)`);
|
|
108
|
+
}
|
|
109
|
+
const msg = msgStones[0];
|
|
110
|
+
if (!msg.data) {
|
|
111
|
+
throw new Error(`(UNEXPECTED) sync saga message ibgib.data falsy? (E: 61ec18743988ad3cbab2072d1dd69826)`);
|
|
112
|
+
}
|
|
113
|
+
// send the context itself, then send the payload ibgibs separately.
|
|
114
|
+
// in this innerspace, this just means putting the control ibgibs
|
|
115
|
+
// first into the receiver durable space, then we will spin off a
|
|
116
|
+
// promise to put any payload ibgibs in the receiver temp space.
|
|
117
|
+
// We'll test a little latency also, to mimic a fuller, two-part
|
|
118
|
+
// sync peer to ensure that other code is acting as expected.
|
|
119
|
+
// we store inside out, meaning we do the dependencies first and
|
|
120
|
+
// then the higher-level dependents.
|
|
121
|
+
const payloadIbGibsControl = [
|
|
122
|
+
...identities, msg, sagaFrame, context
|
|
123
|
+
].map(x => toDto({ ibGib: x }));
|
|
124
|
+
await putInSpace({
|
|
125
|
+
ibGibs: payloadIbGibsControl,
|
|
126
|
+
space: receiverSpace,
|
|
127
|
+
});
|
|
128
|
+
// register yet??
|
|
129
|
+
for (const control of payloadIbGibsControl) {
|
|
130
|
+
await registerNewIbGib({
|
|
131
|
+
ibGib: control,
|
|
132
|
+
space: receiverSpace,
|
|
133
|
+
fnBroadcast: undefined
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
if (context.payloadIbGibsDomain && context.payloadIbGibsDomain.length > 0) {
|
|
137
|
+
await putInSpace_dnasThenNonDnas({
|
|
138
|
+
ibGibs: context.payloadIbGibsDomain,
|
|
139
|
+
space: receiverTempSpace,
|
|
140
|
+
});
|
|
141
|
+
// no need to register right now, because we're putting into the
|
|
142
|
+
// temp receiver space and we don't register until we commit
|
|
143
|
+
// const { mapWithTjp_NoDna, mapWithTjp_YesDna, mapWithoutTjps } =
|
|
144
|
+
// splitPerTjpAndOrDna({ ibGibs: payload_NonDnas });
|
|
145
|
+
}
|
|
146
|
+
// at this time, the receiver has received the control ibgibs AND
|
|
147
|
+
// the payload ibgibs. so the receiver coordinator should be ready
|
|
148
|
+
// to do its thing.
|
|
149
|
+
const responseCtx = await receiverCoordinator.receiverContinueSync({
|
|
150
|
+
sagaContext: context,
|
|
151
|
+
metaspace: receiverMetaspace,
|
|
152
|
+
mySpace: receiverSpace,
|
|
153
|
+
myTempSpace: receiverTempSpace,
|
|
154
|
+
});
|
|
155
|
+
if (!responseCtx) {
|
|
156
|
+
if (logalot) {
|
|
157
|
+
console.log(`${lc} receiver produced undefined response context. (I: 2e1888ffc9e836689d5b171887c36d26)`);
|
|
158
|
+
}
|
|
159
|
+
return undefined; /* <<<< returns early */
|
|
160
|
+
}
|
|
161
|
+
// at this point, we have received the full response from the
|
|
162
|
+
// receiver coordinator. Put the response's control ibgibs in the
|
|
163
|
+
// sender's durable space (but don't register them), spin off the
|
|
164
|
+
// process of any response payloads, and return the context.
|
|
165
|
+
const { msgStones: msgStonesResponse, identities: identitiesResponse } = await getSyncSagaFrameDependencyGraph({
|
|
166
|
+
sagaIbGib: responseCtx.sagaFrame,
|
|
167
|
+
localSpace: senderSpace,
|
|
168
|
+
});
|
|
169
|
+
if (msgStonesResponse.length !== 1) {
|
|
170
|
+
throw new Error(`(UNEXPECTED) msgStonesResponse.length !== 1? we're only geared for a single msg stone that is always present (not 0, not greater than 1) (E: 2d3138ed130f1aca116551889483e826)`);
|
|
171
|
+
}
|
|
172
|
+
const msgResponse = msgStonesResponse[0];
|
|
173
|
+
if (!msgResponse.data) {
|
|
174
|
+
throw new Error(`(UNEXPECTED) sync saga message ibgib.data falsy? (E: 61ec18743988ad3cbab2072d1dd69826)`);
|
|
175
|
+
}
|
|
176
|
+
const responsePayloadIbGibsControl = [
|
|
177
|
+
...identities, msgResponse, responseCtx.sagaFrame, context
|
|
178
|
+
].map(x => toDto({ ibGib: x }));
|
|
179
|
+
await putInSpace({
|
|
180
|
+
ibGibs: responsePayloadIbGibsControl,
|
|
181
|
+
space: senderSpace,
|
|
182
|
+
});
|
|
183
|
+
// register yet??
|
|
184
|
+
for (const control of responsePayloadIbGibsControl) {
|
|
185
|
+
await registerNewIbGib({
|
|
186
|
+
ibGib: control,
|
|
187
|
+
space: senderSpace,
|
|
188
|
+
fnBroadcast: undefined
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
// spin off the payloads, as that may take a long time
|
|
192
|
+
const payloadIbGibsDomain_response = responseCtx.payloadIbGibsDomain;
|
|
193
|
+
if (payloadIbGibsDomain_response) {
|
|
194
|
+
new Promise(async (resolve, reject) => {
|
|
195
|
+
const lcPut = `${lc}[putPayloadsPromise]`;
|
|
196
|
+
try {
|
|
197
|
+
if (logalot) {
|
|
198
|
+
console.log(`${lcPut} starting... (I: 4133e736b4c80d2cf94448b87b206826)`);
|
|
199
|
+
}
|
|
200
|
+
// 2 seconds...i want to see huge blocks of logs entries for this to see this happening
|
|
201
|
+
const delayMs = 200;
|
|
202
|
+
for (let i = 0; i < 10; i++) {
|
|
203
|
+
console.warn(`${lc} ARTIFICIALLY DELAYING PAYLOADS TO MIMIC TRANSFER LATENCY. REMOVE THIS DELAY!! (W: 5e7b28f1daa82d955897e9d8cdb16f26)`);
|
|
204
|
+
await delay(delayMs);
|
|
205
|
+
}
|
|
206
|
+
if (!senderTempSpace) {
|
|
207
|
+
throw new Error(`(UNEXPECTED) senderTempSpace falsy? (E: b187a8f913c2295ae90d7ae2b47b6a26)`);
|
|
208
|
+
}
|
|
209
|
+
await putInSpace_dnasThenNonDnas({
|
|
210
|
+
ibGibs: payloadIbGibsDomain_response,
|
|
211
|
+
space: senderTempSpace,
|
|
212
|
+
});
|
|
213
|
+
if (logalot) {
|
|
214
|
+
console.log(`${lcPut} complete.`);
|
|
215
|
+
}
|
|
216
|
+
resolve();
|
|
217
|
+
}
|
|
218
|
+
catch (error) {
|
|
219
|
+
const errorMsg = `${lcPut} ${extractErrorMsg(error)}`;
|
|
220
|
+
console.error(errorMsg);
|
|
221
|
+
if (logalot) {
|
|
222
|
+
console.log(`${lcPut} complete. (errored)`);
|
|
223
|
+
}
|
|
224
|
+
reject(errorMsg);
|
|
225
|
+
}
|
|
226
|
+
}); // spin off
|
|
227
|
+
/**
|
|
228
|
+
* the caller should be getting these from the observable.
|
|
229
|
+
*/
|
|
230
|
+
delete responseCtx.payloadIbGibsDomain;
|
|
231
|
+
}
|
|
232
|
+
return responseCtx;
|
|
133
233
|
}
|
|
134
234
|
catch (error) {
|
|
135
235
|
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-peer-innerspace-v1.mjs","sourceRoot":"","sources":["../../../../src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAU,MAAM,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-peer-innerspace-v1.mjs","sourceRoot":"","sources":["../../../../src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mts"],"names":[],"mappings":"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"}
|
|
@@ -26,12 +26,9 @@ export interface SyncPeerRel8ns_V1 extends IbGibRel8ns_V1 {
|
|
|
26
26
|
export interface SyncPeerIbGib_V1 extends IbGib_V1<SyncPeerData_V1, SyncPeerRel8ns_V1> {
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
30
|
-
* It witnesses a SyncSagaContext and returns a SyncSagaContext (Request -> Response).
|
|
29
|
+
* base initialization opts
|
|
31
30
|
*/
|
|
32
|
-
export interface
|
|
33
|
-
SyncSagaContextData_V1, SyncSagaContextRel8ns_V1, SyncSagaContextIbGib_V1, // Output
|
|
34
|
-
SyncPeerData_V1, SyncPeerRel8ns_V1> {
|
|
31
|
+
export interface InitializeSyncPeerOpts {
|
|
35
32
|
/**
|
|
36
33
|
* sender's durable space.
|
|
37
34
|
*
|
|
@@ -46,7 +43,33 @@ SyncPeerData_V1, SyncPeerRel8ns_V1> {
|
|
|
46
43
|
* spaces, this temp space will be where domain ibgibs are stored that are
|
|
47
44
|
* received/created throughout the transaction until commit.
|
|
48
45
|
*/
|
|
49
|
-
senderTempSpace
|
|
46
|
+
senderTempSpace?: IbGibSpaceAny;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The interface for the SyncPeer witness class.
|
|
50
|
+
* It witnesses a SyncSagaContext and returns a SyncSagaContext (Request -> Response).
|
|
51
|
+
*/
|
|
52
|
+
export interface SyncPeerWitness<TInitializeOpts extends InitializeSyncPeerOpts = InitializeSyncPeerOpts> extends Witness_V1<SyncSagaContextData_V1, SyncSagaContextRel8ns_V1, SyncSagaContextIbGib_V1, // Input
|
|
53
|
+
SyncSagaContextData_V1, SyncSagaContextRel8ns_V1, SyncSagaContextIbGib_V1, // Output
|
|
54
|
+
SyncPeerData_V1, SyncPeerRel8ns_V1> {
|
|
55
|
+
get classname(): string;
|
|
56
|
+
/**
|
|
57
|
+
* sender-specific opts/config
|
|
58
|
+
*
|
|
59
|
+
* ## notes
|
|
60
|
+
*
|
|
61
|
+
* I'm doing this hack because I have to be able to create a peer without
|
|
62
|
+
* being able to fully configure it at construction time. So I can't place
|
|
63
|
+
* this init code in the {@link initialize} method.
|
|
64
|
+
*/
|
|
65
|
+
opts: TInitializeOpts | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* use this to set the senderTempSpace and any other optional opts that need
|
|
68
|
+
* to be configured just before sending any contexts across the wire.
|
|
69
|
+
*
|
|
70
|
+
* @see {@link opts}
|
|
71
|
+
*/
|
|
72
|
+
setOptionalOpts(arg: Partial<TInitializeOpts>): void;
|
|
50
73
|
/**
|
|
51
74
|
* Observable for streaming large domain payloads asynchronously.
|
|
52
75
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-peer-types.d.mts","sourceRoot":"","sources":["../../../src/sync/sync-peer/sync-peer-types.mts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAE/E,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAC7I,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACjD;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,cAAc;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC;CAAI;AAE1F;;;GAGG;AACH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"sync-peer-types.d.mts","sourceRoot":"","sources":["../../../src/sync/sync-peer/sync-peer-types.mts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAE/E,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAC7I,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACjD;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,cAAc;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC;CAAI;AAE1F;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC;;;;;OAKG;IACH,WAAW,EAAE,aAAa,CAAC;IAC3B;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe,CAAC,eAAe,SAAS,sBAAsB,GAAG,sBAAsB,CAAE,SAAQ,UAAU,CACxH,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EAAE,QAAQ;AACjC,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EAAE,SAAS;AAClC,eAAe,EACf,iBAAiB,CACpB;IACG,IAAI,SAAS,IAAI,MAAM,CAAC;IAExB;;;;;;;;OAQG;IACH,IAAI,EAAE,eAAe,GAAG,SAAS,CAAC;IAElC;;;;;OAKG;IACH,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;IAErD;;;;;OAKG;IACH,4BAA4B,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;CAC1D"}
|
|
@@ -1,23 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @module SyncPeer_V1 witness class
|
|
2
|
+
* @module SyncPeer_V1 witness class for base class plumbing of sync peers.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* NOTE: All push/pulls in this were done to get to compile. These should mostly
|
|
6
|
-
* not be single push/pull calls but should be batched with multiple addresses
|
|
7
|
-
* NOTE: All push/pulls in this were done to get to compile. These should mostly
|
|
8
|
-
* not be single push/pull calls but should be batched with multiple addresses
|
|
9
|
-
* NOTE: All push/pulls in this were done to get to compile. These should mostly
|
|
10
|
-
* not be single push/pull calls but should be batched with multiple addresses
|
|
11
|
-
* NOTE: All push/pulls in this were done to get to compile. These should mostly
|
|
12
|
-
* not be single push/pull calls but should be batched with multiple addresses
|
|
13
|
-
* NOTE: All push/pulls in this were done to get to compile. These should mostly
|
|
14
|
-
* not be single push/pull calls but should be batched with multiple addresses
|
|
4
|
+
* You are expected to implement concrete peer classes for concrete architecture.
|
|
15
5
|
*/
|
|
16
6
|
import { IbGib_V1 } from '@ibgib/ts-gib/dist/V1/types.mjs';
|
|
17
|
-
import { IbGibAddr } from '@ibgib/ts-gib/dist/types.mjs';
|
|
18
7
|
import { SubjectWitness } from '../../common/pubsub/subject/subject-types.mjs';
|
|
19
8
|
import { SyncSagaContextIbGib_V1 } from '../sync-saga-context/sync-saga-context-types.mjs';
|
|
20
|
-
import { SyncPeerData_V1, SyncPeerRel8ns_V1, SyncPeerWitness } from './sync-peer-types.mjs';
|
|
9
|
+
import { InitializeSyncPeerOpts, SyncPeerData_V1, SyncPeerRel8ns_V1, SyncPeerWitness } from './sync-peer-types.mjs';
|
|
21
10
|
import { LightWitnessBase_V1 } from '../../witness/light-witness-base-v1.mjs';
|
|
22
11
|
import { IbGibSpaceAny } from '../../witness/space/space-base-v1.mjs';
|
|
23
12
|
/**
|
|
@@ -30,14 +19,23 @@ import { IbGibSpaceAny } from '../../witness/space/space-base-v1.mjs';
|
|
|
30
19
|
* 2. Send Request (RPC)
|
|
31
20
|
* 3. Pull Response & Dependencies (Receiver -> Sender)
|
|
32
21
|
*/
|
|
33
|
-
export declare abstract class SyncPeer_V1 extends LightWitnessBase_V1<SyncPeerData_V1, SyncPeerRel8ns_V1> implements SyncPeerWitness {
|
|
22
|
+
export declare abstract class SyncPeer_V1<TInitializeOpts extends InitializeSyncPeerOpts = InitializeSyncPeerOpts> extends LightWitnessBase_V1<SyncPeerData_V1, SyncPeerRel8ns_V1> implements SyncPeerWitness<TInitializeOpts> {
|
|
34
23
|
protected lc: string;
|
|
35
|
-
|
|
36
|
-
senderTempSpace: IbGibSpaceAny;
|
|
24
|
+
opts: TInitializeOpts | undefined;
|
|
37
25
|
payloadIbGibsDomainReceived$: SubjectWitness<IbGib_V1>;
|
|
38
26
|
get classname(): string;
|
|
39
|
-
constructor(
|
|
27
|
+
constructor(initialData: SyncPeerData_V1, initialRel8ns?: SyncPeerRel8ns_V1);
|
|
40
28
|
initialize(): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* base implementation just sets the opts property.
|
|
31
|
+
*
|
|
32
|
+
* override this in concrete classes for further initialization code
|
|
33
|
+
* specific to the sender.
|
|
34
|
+
*
|
|
35
|
+
* @see {@link SyncPeerWitness.opts}
|
|
36
|
+
*/
|
|
37
|
+
initializeSender(opts: TInitializeOpts): Promise<void>;
|
|
38
|
+
setOptionalOpts(arg: Partial<TInitializeOpts>): void;
|
|
41
39
|
protected abstract ensureReceiverTempSpace(): Promise<IbGibSpaceAny>;
|
|
42
40
|
/**
|
|
43
41
|
* Witness the synchronization context (Send/Receive).
|
|
@@ -50,45 +48,30 @@ export declare abstract class SyncPeer_V1 extends LightWitnessBase_V1<SyncPeerDa
|
|
|
50
48
|
*/
|
|
51
49
|
witness(context: SyncSagaContextIbGib_V1): Promise<SyncSagaContextIbGib_V1 | undefined>;
|
|
52
50
|
/**
|
|
53
|
-
*
|
|
54
|
-
|
|
55
|
-
protected abstract sendContextRequest(context: SyncSagaContextIbGib_V1): Promise<SyncSagaContextIbGib_V1 | undefined>;
|
|
56
|
-
/**
|
|
57
|
-
* Pushes specific IbGib(s) (by address) from Local to Remote.
|
|
51
|
+
* At this point, this is a validated, authenticated and authorized context
|
|
52
|
+
* to send.
|
|
58
53
|
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
*
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
*
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
*
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
context: SyncSagaContextIbGib_V1;
|
|
79
|
-
}): Promise<string[]>;
|
|
80
|
-
/**
|
|
81
|
-
* Helper to orchestrate the PUSH of a Context's dependency graph.
|
|
82
|
-
*/
|
|
83
|
-
protected pushContextGraph({ context }: {
|
|
84
|
-
context: SyncSagaContextIbGib_V1;
|
|
85
|
-
}): Promise<void>;
|
|
86
|
-
/**
|
|
87
|
-
* Helper to orchestrate the PULL of a Context's dependency graph.
|
|
54
|
+
* This is responsible for:
|
|
55
|
+
*
|
|
56
|
+
* * physical sending outgoing {@link context}, the sync saga frame and msg
|
|
57
|
+
* stone(s), and identities...
|
|
58
|
+
* * AND sending OUTGOING domain ibgibs
|
|
59
|
+
* {@link SyncSagaContextIbGib_V1.payloadIbGibsDomain}
|
|
60
|
+
* * getting back the other end's resultant context ibgib, sync saga frame
|
|
61
|
+
* and msg stone(s), and identities in their entirety...
|
|
62
|
+
* * AND stream/receiving the RESPONSE payload domain ibgibs, publishing
|
|
63
|
+
* these to this.payloadIbGibsDomainReceived$.
|
|
64
|
+
* * BUT this should return as soon as the resultant context ibgib comes
|
|
65
|
+
* back.
|
|
66
|
+
*
|
|
67
|
+
* So this returns the RESPONSE context, possibly BEFORE the response DOMAIN
|
|
68
|
+
* ibgibs have been completely received/streamed. The coordinator is
|
|
69
|
+
* responsible for awaiting this stream.
|
|
70
|
+
*
|
|
71
|
+
* @returns next sync saga context if another round, or undefined if we're
|
|
72
|
+
* done. (might throw if there's an error?)
|
|
88
73
|
*/
|
|
89
|
-
protected
|
|
90
|
-
context: SyncSagaContextIbGib_V1;
|
|
91
|
-
}): Promise<void>;
|
|
74
|
+
protected abstract sendContextRequest(context: SyncSagaContextIbGib_V1): Promise<SyncSagaContextIbGib_V1 | undefined>;
|
|
92
75
|
/**
|
|
93
76
|
* Abstract accessor to get an IbGib from the Local space/store.
|
|
94
77
|
* Needed for inspecting rela8ns during the graph walk.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-peer-v1.d.mts","sourceRoot":"","sources":["../../../src/sync/sync-peer/sync-peer-v1.mts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sync-peer-v1.d.mts","sourceRoot":"","sources":["../../../src/sync/sync-peer/sync-peer-v1.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAM3D,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACpH,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAStE;;;;;;;;;GASG;AACH,8BAAsB,WAAW,CAAC,eAAe,SAAS,sBAAsB,GAAG,sBAAsB,CACrG,SAAQ,mBAAmB,CAAC,eAAe,EAAE,iBAAiB,CAC9D,YAAW,eAAe,CAAC,eAAe,CAAC;IAE3C,SAAS,CAAC,EAAE,EAAE,MAAM,CAA2B;IAExC,IAAI,EAAE,eAAe,GAAG,SAAS,CAAC;IAClC,4BAA4B,EAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE/D,IAAI,SAAS,IAAI,MAAM,CAItB;gBAEW,WAAW,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE,iBAAiB;IAI9D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC;;;;;;;OAOG;IACU,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5D,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAoC3D,SAAS,CAAC,QAAQ,CAAC,uBAAuB,IAAI,OAAO,CAAC,aAAa,CAAC;IAEpE;;;;;;;;OAQG;IACY,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IA0FtG;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAErH;;;;;OAKG;cACa,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;CAuB7E"}
|