Commit 1171580743394a34306e2a12800ea5606f7e5d67
use new tree method in ipld-graph-builder
wanderer committed on 4/22/2017, 3:30:11 PMParent: aa1510bda0bef9b7d7261249e14f2f553ca0ed32
Files changed
index.js | changed |
kernel.js | changed |
package.json | changed |
tests/index.js | changed |
index.js | ||
---|---|---|
@@ -20,13 +20,15 @@ | ||
20 | 20 | const vm = this.getInstaceFromPort(portObj) |
21 | 21 | vm.queue(message) |
22 | 22 | } |
23 | 23 | |
24 | - getVMFromPort (port) { | |
24 | + async getVMFromPort (port) { | |
25 | 25 | const id = Kernel.id(port) |
26 | 26 | let kernel = this._vms.get(id) |
27 | 27 | if (!kernel) { |
28 | - kernel = new Kernel(port) | |
28 | + // load the container from the state | |
29 | + await this.graph.tree(port, 2) | |
30 | + kernel = new Kernel() | |
29 | 31 | kernel.on('idle', () => { |
30 | 32 | this._vms.delete(id) |
31 | 33 | }) |
32 | 34 | this._vms.set(id, kernel) |
@@ -34,9 +36,13 @@ | ||
34 | 36 | } |
35 | 37 | |
36 | 38 | // given a port, wait untill its source contract has reached the threshold |
37 | 39 | // tick count |
38 | - waitOnPort (port, ticks) { | |
39 | - let kernel = this.getVMFromPort(port) | |
40 | + async waitOnPort (port, ticks) { | |
41 | + let kernel = await this.getVMFromPort(port) | |
40 | 42 | return kernel.wait(ticks) |
41 | 43 | } |
44 | + | |
45 | + addVM (container) { | |
46 | + this._vms.type = container.type | |
47 | + } | |
42 | 48 | } |
kernel.js | ||
---|---|---|
@@ -11,10 +11,8 @@ | ||
11 | 11 | // set up the state |
12 | 12 | this.opts = {} |
13 | 13 | this._stateIndex = 0 |
14 | 14 | Object.assign(this.opts, opts) |
15 | - // set up the vm | |
16 | - this.vm = (this.opts.codeHandler).init(this.opts.state) | |
17 | 15 | this.ports = new PortManager(this) |
18 | 16 | this._waitingQueue = new PriorityQueue((a, b) => { |
19 | 17 | return a.threshold > b.threshold |
20 | 18 | }) |
package.json | ||
---|---|---|
@@ -45,8 +45,9 @@ | ||
45 | 45 | "deepcopy": "^0.6.3", |
46 | 46 | "ethereumjs-block": "^1.5.0", |
47 | 47 | "ethereumjs-tx": "^1.2.5", |
48 | 48 | "ethereumjs-util": "^5.1.0", |
49 | + "file-type": "^4.2.0", | |
49 | 50 | "fixed-bn.js": "0.0.2", |
50 | 51 | "ipld-graph-builder": "1.0.1", |
51 | 52 | "primea-message": "0.0.0", |
52 | 53 | "primea-wasm-container": "0.0.0", |
Built with git-ssb-web