git ssb

0+

wanderer🌟 / js-primea-hypervisor



Commit c5cdc89599c7a0c7c34af77912e1b919bf4cbf26

rename vm to containers

wanderer committed on 5/17/2017, 5:01:20 PM
Parent: eec495cebe6cfffd8d1cb71c3d83f4ce2c9d30a7

Files changed

index.jschanged
kernel.jschanged
portManager.jschanged
tests/index.jschanged
index.jsView
@@ -1,42 +1,45 @@
11 const Graph = require('ipld-graph-builder')
22 const Kernel = require('./kernel.js')
33
44 module.exports = class Hypervisor {
5- constructor (opts) {
6- this.graph = new Graph(opts.dag)
7- this._vmInstances = new Map()
8- this._VMs = {}
5+ constructor (dag) {
6+ this.graph = new Graph(dag)
7+ this._runningContainers = new Map()
8+ this._containerTypes = {}
99 }
1010
11+ /**
12+ * get a contrainer instance given the connecting port
13+ */
1114 async getInstance (port, parentPort) {
12- let kernel = this._vmInstances.get(port)
15+ let kernel = this._runningContainers.get(port)
1316 if (!kernel) {
1417 kernel = await this.createInstance(port.type, port.link, port, parentPort)
1518 kernel.on('idle', () => {
16- this._vmInstances.delete(port)
19+ this._runningContainers.delete(port)
1720 })
1821 }
1922 return kernel
2023 }
2124
2225 // given a port, wait untill its source contract has reached the threshold
2326 // tick count
2427 async wait (port, threshold, fromPort) {
25- let kernel = this._vmInstances.get(port)
28+ let kernel = this._runningContainers.get(port)
2629 if (kernel) {
2730 return kernel.wait(threshold, fromPort)
2831 } else {
2932 return threshold
3033 }
3134 }
3235
3336 async createInstance (type, state, entryPort = null, parentPort) {
34- const VM = this._VMs[type]
37+ const Container = this._containerTypes[type]
3538
3639 if (!state) {
3740 state = {
38- '/': VM.createState()
41+ '/': Container.createState()
3942 }
4043 }
4144
4245 // create a new kernel instance
@@ -44,13 +47,13 @@
4447 entryPort: entryPort,
4548 parentPort: parentPort,
4649 hypervisor: this,
4750 state: state,
48- VM: VM
51+ Container: Container
4952 })
5053
5154 // save the newly created instance
52- this._vmInstances.set(entryPort, kernel)
55+ this._runningContainers.set(entryPort, kernel)
5356 await kernel.start()
5457 return kernel
5558 }
5659
@@ -59,7 +62,7 @@
5962 return this.graph.flush(container.state)
6063 }
6164
6265 registerContainer (type, vm) {
63- this._VMs[type] = vm
66+ this._containerTypes[type] = vm
6467 }
6568 }
kernel.jsView
@@ -21,9 +21,9 @@
2121 entryPort: opts.entryPort,
2222 parentPort: opts.parentPort
2323 })
2424
25- this.vm = new opts.VM(this)
25+ this.vm = new opts.Container(this)
2626 this._waitingMap = new Map()
2727
2828 this.on('result', this._runNextMessage)
2929 this.on('idle', () => {
portManager.jsView
@@ -78,9 +78,9 @@
7878 return this._portMap.has(port)
7979 }
8080
8181 create (type) {
82- const VM = this.hypervisor._VMs[type]
82+ const VM = this.hypervisor._containerTypes[type]
8383 const parentId = this.entryPort ? this.entryPort.id : null
8484 let nonce = this.state['/'].nonce
8585
8686 const portRef = {
tests/index.jsView
@@ -41,9 +41,9 @@
4141 t.true(m === message, 'should recive a message')
4242 }
4343 }
4444
45- const hypervisor = new Hypervisor({dag: node.dag})
45+ const hypervisor = new Hypervisor(node.dag)
4646 hypervisor.registerContainer('test', testVMContainer)
4747
4848 const rootContainer = await hypervisor.createInstance('test')
4949 const port = rootContainer.ports.create('test')
@@ -84,9 +84,9 @@
8484 this.kernel.incrementTicks(1)
8585 }
8686 }
8787
88- const hypervisor = new Hypervisor({dag: node.dag})
88+ const hypervisor = new Hypervisor(node.dag)
8989 hypervisor.registerContainer('test', testVMContainer)
9090 hypervisor.registerContainer('test2', testVMContainer2)
9191
9292 let root = await hypervisor.createInstance('test')
@@ -138,11 +138,9 @@
138138 return this.kernel.send(port, new Message())
139139 }
140140 }
141141
142- const hypervisor = new Hypervisor({
143- dag: node.dag
144- })
142+ const hypervisor = new Hypervisor(node.dag)
145143
146144 hypervisor.registerContainer('ping', Ping)
147145 hypervisor.registerContainer('pong', Pong)
148146 const root = await hypervisor.createInstance('pong')
@@ -190,11 +188,9 @@
190188 this.kernel.incrementTicks(2)
191189 }
192190 }
193191
194- const hypervisor = new Hypervisor({
195- dag: node.dag
196- })
192+ const hypervisor = new Hypervisor(node.dag)
197193
198194 hypervisor.registerContainer('root', Root)
199195 hypervisor.registerContainer('child', Child)
200196
@@ -225,11 +221,9 @@
225221 throw new Error('it is a trap!!!')
226222 }
227223 }
228224
229- const hypervisor = new Hypervisor({
230- dag: node.dag
231- })
225+ const hypervisor = new Hypervisor(node.dag)
232226
233227 hypervisor.registerContainer('root', Root)
234228 const root = await hypervisor.createInstance('root')
235229 await root.run()
@@ -256,11 +250,9 @@
256250 }
257251 }
258252 }
259253
260- const hypervisor = new Hypervisor({
261- dag: node.dag
262- })
254+ const hypervisor = new Hypervisor(node.dag)
263255
264256 hypervisor.registerContainer('root', Root)
265257 const root = await hypervisor.createInstance('root')
266258 await root.run()
@@ -314,11 +306,9 @@
314306 await this.kernel.send(m.fromPort, new Message({data: 'second'}))
315307 }
316308 }
317309
318- const hypervisor = new Hypervisor({
319- dag: node.dag
320- })
310+ const hypervisor = new Hypervisor(node.dag)
321311
322312 hypervisor.registerContainer('root', Root)
323313 hypervisor.registerContainer('first', First)
324314 hypervisor.registerContainer('second', Second)
@@ -369,11 +359,9 @@
369359 this.kernel.send(m.fromPort, new Message({data: 'second'}))
370360 }
371361 }
372362
373- const hypervisor = new Hypervisor({
374- dag: node.dag
375- })
363+ const hypervisor = new Hypervisor(node.dag)
376364
377365 hypervisor.registerContainer('root', Root)
378366 hypervisor.registerContainer('first', First)
379367 hypervisor.registerContainer('second', Second)
@@ -430,11 +418,9 @@
430418 }))
431419 }
432420 }
433421
434- const hypervisor = new Hypervisor({
435- dag: node.dag
436- })
422+ const hypervisor = new Hypervisor(node.dag)
437423
438424 hypervisor.registerContainer('root', Root)
439425 hypervisor.registerContainer('first', First)
440426 hypervisor.registerContainer('second', Second)
@@ -488,11 +474,9 @@
488474 }))
489475 }
490476 }
491477
492- const hypervisor = new Hypervisor({
493- dag: node.dag
494- })
478+ const hypervisor = new Hypervisor(node.dag)
495479
496480 hypervisor.registerContainer('root', Root)
497481 hypervisor.registerContainer('first', First)
498482 hypervisor.registerContainer('second', Second)
@@ -551,11 +535,9 @@
551535 }))
552536 }
553537 }
554538
555- const hypervisor = new Hypervisor({
556- dag: node.dag
557- })
539+ const hypervisor = new Hypervisor(node.dag)
558540
559541 hypervisor.registerContainer('root', Root)
560542 hypervisor.registerContainer('first', First)
561543 hypervisor.registerContainer('second', Second)
@@ -613,11 +595,9 @@
613595 }))
614596 }
615597 }
616598
617- const hypervisor = new Hypervisor({
618- dag: node.dag
619- })
599+ const hypervisor = new Hypervisor(node.dag)
620600
621601 hypervisor.registerContainer('root', Root)
622602 hypervisor.registerContainer('first', First)
623603 hypervisor.registerContainer('second', Second)
@@ -657,11 +637,9 @@
657637 }))
658638 }
659639 }
660640
661- const hypervisor = new Hypervisor({
662- dag: node.dag
663- })
641+ const hypervisor = new Hypervisor(node.dag)
664642
665643 hypervisor.registerContainer('root', BaseContainer)
666644 hypervisor.registerContainer('middle', Middle)
667645 hypervisor.registerContainer('leaf', Leaf)

Built with git-ssb-web