git ssb

0+

wanderer🌟 / js-primea-hypervisor



Tree: c0ffdd0e09232954459f879b99db0b4192eded09

Files: c0ffdd0e09232954459f879b99db0b4192eded09 / port.js

516 bytesRaw
1const EventEmitter = require('events')
2
3module.exports = class Port extends EventEmitter {
4 constructor (name) {
5 super()
6 this.name = name
7 this.connected = false
8 }
9
10 connect (destPort) {
11 if (!this.connected) {
12 this.destPort = destPort
13 destPort.destPort = this
14 this.connected = true
15 }
16 }
17
18 async send (message) {
19 message._hops++
20 this.destPort.recieve(message)
21 }
22
23 async recieve (message) {
24 message.from.push(this.name)
25 this.emit('message', message)
26 }
27}
28

Built with git-ssb-web