diff --git a/index.js b/index.js index e408657..4d9248c 100644 --- a/index.js +++ b/index.js @@ -42,6 +42,17 @@ module.exports = class Hypervisor { } } + async send (port, message) { + if (port.destId) { + const id = port.destId + const instance = await this.getInstance(id) + return instance.queue(port.destName, message) + } else { + // port is unbound + port.destPort.messages.push(message) + } + } + // loads an instance of a container from the state async _loadInstance (id) { const state = await this.graph.get(this.state, id) diff --git a/kernel.js b/kernel.js index a5ad11d..41593d7 100644 --- a/kernel.js +++ b/kernel.js @@ -163,7 +163,7 @@ module.exports = class Kernel { * @param {Object} portRef - the port * @param {Message} message - the message */ - async send (port, message) { + send (port, message) { message._hops++ // set the port that the message came from message._fromTicks = this.ticks @@ -172,14 +172,6 @@ module.exports = class Kernel { // if (this.currentMessage !== message && !message.responsePort) { // this.currentMessage._addSubMessage(message) // } - - if (port.destId) { - const id = port.destId - const instance = await this.hypervisor.getInstance(id) - return instance.queue(port.destName, message) - } else { - // port is unbound - port.destPort.messages.push(message) - } + return this.hypervisor.send(port, message) } }