Sha256: 9bf3d8139d13f9bb0eac8b989e1a4e294b5c30ebf83dfb26e3bb00271cd455e9

Contents?: true

Size: 876 Bytes

Versions: 6

Compression:

Stored size: 876 Bytes

Contents

const { Handler } = require('../handler/Handler')
const CommandEncoder = require('../protocol/CommandEncoder')
const CommandDecoder = require('../protocol/CommandDecoder')


let Transmitter

class Interpreter {
    handler = new Handler()

    execute(command, connectionType, tcpAddress) {
        // lazy transmitter loading
        if(!Transmitter) {
            Transmitter = require('../transmitter/NodejsTransmitter')
        }

        let encoder = new CommandEncoder()
        let byteMessage = encoder.encode(command,connectionType, tcpAddress)

        let bytes = Transmitter.sendCommand(byteMessage)
        return new CommandDecoder(bytes).decode()
    }

    process(byteArray) {
        let decoder = new CommandDecoder(byteArray)
        let command = decoder.decode()

        return this.handler.handleCommand(command)
    }
}

module.exports = Interpreter

Version data entries

6 entries across 3 versions & 1 rubygems

Version Path
javonet-ruby-sdk-2.0.4 lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/interpreter/Interpreter.js
javonet-ruby-sdk-2.0.4 lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/interpreter/Interpreter.js
javonet-ruby-sdk-2.0.1 lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/src/core/interpreter/Interpreter.js
javonet-ruby-sdk-2.0.1 lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/src/core/interpreter/Interpreter.js
javonet-ruby-sdk-2.0.0 lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/src/core/interpreter/Interpreter.js
javonet-ruby-sdk-2.0.0 lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/src/core/interpreter/Interpreter.js