Skip to content

Commit

Permalink
feat: slogulator annotation enhancements
Browse files Browse the repository at this point in the history
  • Loading branch information
FUDCo committed Dec 14, 2020
1 parent e7c75aa commit 1c09876
Show file tree
Hide file tree
Showing 22 changed files with 709 additions and 400 deletions.
5 changes: 5 additions & 0 deletions packages/swingset-runner/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
# swingset persistence data
*.mdb
*.jsonlines
*.naive
slog
vslog
vlog
vdump
8 changes: 8 additions & 0 deletions packages/swingset-runner/bin/slogulator
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/usr/bin/env -S node -r esm

/**
* Simple boilerplate program providing linkage to launch an application written using modules within the
* as yet not-entirely-ESM-supporting version of NodeJS.
*/
import { main } from '../src/slogulator.js';
main();
20 changes: 20 additions & 0 deletions packages/swingset-runner/demo/promiseChainBenchmark/annot.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"kernelRefs": {
"ko20": "bobRoot",
"ko21": "bootstrapRoot",
"ko22": "commsRoot",
"ko23": "timerRoot",
"ko24": "vatAdminRoot",
"ko25": "vattpRoot",

"kd30": "vatAdminDevice",

"kp40": "bootstrap/rp",
"kp41": "init/rp",
"kp42": "gen0/rp",
"kp43": "arr0/p",
"kp44": "runBenchmarkRound/rp",
"kp45": "gen1/rp",
"kp46": "arr1/p"
}
}
23 changes: 23 additions & 0 deletions packages/swingset-runner/demo/resolveChain/annot.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"kernelRefs": {
"ko20": "bobRoot",
"ko21": "aliceRoot",
"ko22": "commsRoot",
"ko23": "timerRoot",
"ko24": "vatAdminRoot",
"ko25": "vattpRoot",

"kd30": "vatAdminDevice",

"kp40": "bootstrap/rp",
"kp41": "init/rp",
"kp42": "gen0/rp",
"kp43": "arr0/p",
"kp44": "gen1/rp",
"kp45": "arr1/p",
"kp46": "gen2/rp",
"kp47": "arr2/p",
"kp48": "gen3/rp",
"kp49": "arr3/p"
}
}
17 changes: 17 additions & 0 deletions packages/swingset-runner/demo/resolveCircular/annot.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"kernelRefs": {
"ko20": "bobRoot",
"ko21": "bootstrapRoot",
"ko22": "commsRoot",
"ko23": "timerRoot",
"ko24": "vatAdminRoot",
"ko25": "vattpRoot",

"kd30": "vatAdminDevice",

"kp40": "bootstrap/rp",
"kp41": "genPromise1/rp",
"kp42": "genPromise2/rp",
"kp43": "usePromises/rp"
}
}
18 changes: 18 additions & 0 deletions packages/swingset-runner/demo/resolveCircularMultiCrank/annot.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"kernelRefs": {
"ko20": "bobRoot",
"ko21": "bootstrapRoot",
"ko22": "commsRoot",
"ko23": "timerRoot",
"ko24": "vatAdminRoot",
"ko25": "vattpRoot",

"kd30": "vatAdminDevice",

"kp40": "bootstrap/rp",
"kp41": "genPromiseX/rp",
"kp42": "genPromiseY/rp",
"kp43": "resPromiseX/rp",
"kp44": "resPromiseY/rp"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { E } from '@agoric/eventual-send';

console.log(`=> loading bootstrap.js`);

export function buildRootObject(_vatPowers) {
return harden({
bootstrap(vats) {
const pX = E(vats.bob).genPromiseX();
const pY = E(vats.bob).genPromiseY();
E(vats.bob).resPromiseX([pY]);
E(vats.bob).resPromiseY([pX]);
},
});
}
30 changes: 30 additions & 0 deletions packages/swingset-runner/demo/resolveCircularMultiCrank/vat-bob.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
function makePR() {
let r;
const p = new Promise((resolve, _reject) => {
r = resolve;
});
return [p, r];
}

export function buildRootObject(_vatPowers) {
let pX;
let rX;
let pY;
let rY;
return harden({
genPromiseX() {
[pX, rX] = makePR();
return pX;
},
genPromiseY() {
[pY, rY] = makePR();
return pY;
},
resPromiseX(v) {
rX(v);
},
resPromiseY(v) {
rY(v);
},
});
}
19 changes: 19 additions & 0 deletions packages/swingset-runner/demo/resolveCrosswise/annot.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"kernelRefs": {
"ko20": "aliceRoot",
"ko21": "bobRoot",
"ko22": "bootstrapRoot",
"ko23": "commsRoot",
"ko24": "timerRoot",
"ko25": "vatAdminRoot",
"ko26": "vattpRoot",

"kd30": "vatAdminDevice",

"kp40": "bootstrap/rp",
"kp41": "alice.genPromise/rp",
"kp42": "bob.genPromise/rp",
"kp43": "alice.usePromise/rp",
"kp44": "bob.usePromise/rp"
}
}
12 changes: 12 additions & 0 deletions packages/swingset-runner/demo/resolveCrosswise/bootstrap.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { E } from '@agoric/eventual-send';

export function buildRootObject(_vatPowers) {
return harden({
bootstrap(vats) {
const pa = E(vats.alice).genPromise();
const pb = E(vats.bob).genPromise();
E(vats.alice).usePromise([pb]);
E(vats.bob).usePromise([pa]);
},
});
}
14 changes: 14 additions & 0 deletions packages/swingset-runner/demo/resolveCrosswise/swingset.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"bootstrap": "bootstrap",
"vats": {
"alice": {
"sourceSpec": "vat-body.js"
},
"bob": {
"sourceSpec": "vat-body.js"
},
"bootstrap": {
"sourceSpec": "bootstrap.js"
}
}
}
17 changes: 17 additions & 0 deletions packages/swingset-runner/demo/resolveIndirect/annot.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"kernelRefs": {
"ko20": "bobRoot",
"ko21": "bootstrapRoot",
"ko22": "commsRoot",
"ko23": "timerRoot",
"ko24": "vatAdminRoot",
"ko25": "vattpRoot",

"kd30": "vatAdminDevice",

"kp40": "bootstrap/rp",
"kp41": "genPromise1/rp",
"kp42": "genPromise2/rp",
"kp43": "usePromise/rp"
}
}
18 changes: 18 additions & 0 deletions packages/swingset-runner/demo/resolveMutualCircular/annot.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"kernelRefs": {
"ko20": "bobRoot",
"ko21": "bootstrapRoot",
"ko22": "commsRoot",
"ko23": "timerRoot",
"ko24": "vatAdminRoot",
"ko25": "vattpRoot",

"kd30": "vatAdminDevice",

"kp40": "bootstrap/rp",
"kp41": "genPromise-a/rp",
"kp42": "genPromise-b/rp",
"kp43": "usePromise-a/rp",
"kp44": "usePromise-b/rp"
}
}
12 changes: 12 additions & 0 deletions packages/swingset-runner/demo/resolveMutualCircular/bootstrap.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { E } from '@agoric/eventual-send';

export function buildRootObject(_vatPowers) {
return harden({
bootstrap(vats) {
const pa = E(vats.bob).genPromise('a');
const pb = E(vats.bob).genPromise('b');
E(vats.bob).usePromise('a', [pb]);
E(vats.bob).usePromise('b', [pa]);
},
});
}
22 changes: 22 additions & 0 deletions packages/swingset-runner/demo/resolveMutualCircular/vat-bob.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
function makePR() {
let r;
const p = new Promise((resolve, _reject) => {
r = resolve;
});
return [p, r];
}

export function buildRootObject(_vatPowers) {
const rs = new Map();
return harden({
genPromise(idx) {
const [p, r] = makePR();
rs.set(idx, r);
return p;
},
usePromise(idx, p) {
const r = rs.get(idx);
r(p);
},
});
}
16 changes: 16 additions & 0 deletions packages/swingset-runner/demo/resolveSimpleCircular/annot.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"kernelRefs": {
"ko20": "bobRoot",
"ko21": "bootstrapRoot",
"ko22": "commsRoot",
"ko23": "timerRoot",
"ko24": "vatAdminRoot",
"ko25": "vattpRoot",

"kd30": "vatAdminDevice",

"kp40": "bootstrap/rp",
"kp41": "genPromise/rp",
"kp42": "usePromise/rp"
}
}
21 changes: 21 additions & 0 deletions packages/swingset-runner/demo/resolveSimpleCircular/vat-bob.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
function makePR() {
let r;
const p = new Promise((resolve, _reject) => {
r = resolve;
});
return [p, r];
}

export function buildRootObject(_vatPowers) {
let p;
let r;
return harden({
genPromise() {
[p, r] = makePR();
return p;
},
usePromise(pa) {
r(pa);
},
});
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"kernelRefs": {
"ko20": "bobRoot",
"ko21": "bootstrapRoot",
"ko22": "commsRoot",
"ko23": "timerRoot",
"ko24": "vatAdminRoot",
"ko25": "vattpRoot",

"kd30": "vatAdminDevice",

"kp40": "bootstrap/rp",
"kp41": "first/rp",
"kp42": "second/rp",
"kp43": "third/rp",
"kp44": "secondArr/p"
}
}
Loading

0 comments on commit 1c09876

Please sign in to comment.