Files: c64b17a89975071bd569256e538ead9905e016c9 / hypervisor.js
644 bytesRaw
1 | const Kernel = require('./index.js') |
2 | const Vertex = require('merkle-trie') |
3 | // const Block = require('./deps/block.js') |
4 | // const blockchain = require('./fakeBlockChain.js') |
5 | const codeHandlers = require('./codeHandler.js') |
6 | |
7 | module.exports = class Hypervisor { |
8 | constructor (state = new Vertex(), imports = []) { |
9 | this.state = state |
10 | this.root = new Kernel({ |
11 | imports: imports, |
12 | state: state |
13 | }) |
14 | } |
15 | |
16 | set (path, kernel) { |
17 | this.state.set(path, new Vertex({ |
18 | value: kernel |
19 | })) |
20 | } |
21 | |
22 | send (message) { |
23 | return this.root.send(message) |
24 | } |
25 | |
26 | addVM (type, handler) { |
27 | codeHandlers.handlers.type = handler |
28 | } |
29 | } |
30 |
Built with git-ssb-web