git ssb

0+

wanderer🌟 / js-primea-hypervisor



Commit b5cb4112bbeaaa34f0d5faa38670426dc58971bf

remove codehandler

wanderer committed on 4/26/2017, 10:31:28 AM
Parent: 50a0ebc04208fbb22e6da71e180399a8fc00b3a3

Files changed

tests/index.jschanged
codeHandler.jsdeleted
tests/index.jsView
@@ -35,25 +35,20 @@
3535 t.true(m === message, 'should recive a message')
3636 }
3737 }
3838
39- try {
40- const hypervisor = new Hypervisor({
41- dag: node.dag
42- })
43- hypervisor.addVM('test', testVMContainer)
39+ const hypervisor = new Hypervisor({
40+ dag: node.dag
41+ })
42+ hypervisor.addVM('test', testVMContainer)
4443
45- await hypervisor.send(state, message)
46- await hypervisor.createStateRoot(state, Infinity)
47- console.log('state root')
48- t.deepEquals(state, expectedState, 'expected')
49- t.end()
50- } catch (e) {
51- console.log(e)
52- }
44+ await hypervisor.send(state, message)
45+ await hypervisor.createStateRoot(state, Infinity)
46+ t.deepEquals(state, expectedState, 'expected')
47+ t.end()
5348 })
5449
55- tape('one child contract', t => {
50+ tape('one child contract', async t => {
5651 t.end()
5752 node.stop(() => {
5853 process.exit()
5954 })
@@ -64,28 +59,46 @@
6459 this.kernel = kernel
6560 }
6661
6762 run (m) {
68-
63+ this.kernel.ports.create('child', 'test2', null)
64+ this.kernek.send('child', m)
6965 }
7066 }
7167
72- // const state = {
73- // id: {},
74- // ports: {
75- // first: {
76- // id: {
77- // nonce: 1,
78- // parent: 'hash'
79- // },
80- // code: 'js code',
81- // type: 'test',
82- // ports: {
68+ class testVMContainer2 {
69+ run (m) {
70+ t.true(m === message, 'should recive a message')
71+ }
72+ }
8373
84- // }
85- // }
86- // }
87- // }
74+ const state = {
75+ messages: [],
76+ id: {
77+ '/': {
78+ nonce: new Buffer([0]),
79+ parent: {
80+ '/': null
81+ }
82+ }
83+ },
84+ type: 'test',
85+ vm: {
86+ '/': {
87+ ports: {}
88+ }
89+ }
90+ }
91+
92+ const hypervisor = new Hypervisor({
93+ dag: node.dag
94+ })
95+ hypervisor.addVM('test', testVMContainer)
96+
97+ await hypervisor.send(state, message)
98+ await hypervisor.createStateRoot(state, Infinity)
99+ t.deepEquals(state, expectedState, 'expected')
100+ t.end()
88101 // const message = new Message({
89102 // type: 'create',
90103 // path: 'first',
91104 // data: jsCode
codeHandler.jsView
@@ -1,48 +1,0 @@
1-const Wasm = require('primea-wasm-container')
2-
3-const defaultHandler = {
4- test: (state) => {
5- return !state.code
6- },
7- init: () => {
8- return require('./defaultAgent.js')
9- }
10-}
11-
12-const wasm = {
13- test: (state) => {
14- const code = Buffer.from(state.code)
15- return code && code.slice(0, 4).toString() === '\x00asm'
16- },
17- init: (code) => {
18- return new Wasm(code)
19- }
20-}
21-
22-const javascript = {
23- test: (state) => {
24- return typeof state.code === 'function'
25- },
26- init: (state) => {
27- return {
28- run: state.code
29- }
30- }
31-}
32-
33-let codeHandlers = exports.handlers = {
34- default: defaultHandler,
35- wasm: wasm,
36- javascript: javascript
37-}
38-
39-exports.init = (code) => {
40- for (let name in codeHandlers) {
41- try {
42- const handler = codeHandlers[name]
43- if (handler.test(code)) {
44- return handler.init(code)
45- }
46- } catch (e) {}
47- }
48-}

Built with git-ssb-web