Sha256: 9d569cebafd2f02389c9b9c2dc2897c3d2aa715899793fb183f89a3ff1128f54
Contents?: true
Size: 1.63 KB
Versions: 21
Compression:
Stored size: 1.63 KB
Contents
const { Handler } = require('../handler/Handler') const CommandSerializer = require('../protocol/CommandSerializer') const CommandDeserializer = require('../protocol/CommandDeserializer') const Runtime = require("../../utils/RuntimeName"); const ConnectionType = require('../../utils/ConnectionType'); let Transmitter let Receiver class Interpreter { handler = new Handler() execute(command, connectionType, tcpAddress) { let commandSerializer = new CommandSerializer() let byteMessage = commandSerializer.serialize(command,connectionType, tcpAddress) let responseByteArray if (command.runtimeName === Runtime.Nodejs && connectionType === ConnectionType.IN_MEMORY) { // lazy receiver loading if (!Receiver) { Receiver = require('../receiver/Receiver') } responseByteArray = Receiver.sendCommand(byteMessage) } else { // lazy transmitter loading if (!Transmitter) { Transmitter = require('../transmitter/Transmitter') } responseByteArray = Transmitter.sendCommand(byteMessage) } return new CommandDeserializer(responseByteArray).deserialize() } process(byteArray) { let commandDeserializer = new CommandDeserializer(byteArray) let receivedCommand = commandDeserializer.deserialize() let responseCommand = this.handler.handleCommand(receivedCommand) let commandSerializer = new CommandSerializer() return commandSerializer.serialize(responseCommand, ConnectionType.IN_MEMORY) } } module.exports = Interpreter
Version data entries
21 entries across 12 versions & 1 rubygems