raas-server
Version:
rhamt as a service server
52 lines • 2.07 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const raas_client_1 = require("raas-client");
const driverMessageDelegate_1 = require("./driverMessageDelegate");
class DriverClient {
constructor(emitter, socket, id, raasConfig) {
this.emitter = emitter;
this.socket = socket;
this.id = id;
this.raasConfig = raasConfig;
this.listen();
}
listen() {
const disconnectClient = this.disconnectClient.bind(this);
this.socket.on('close', disconnectClient);
this.socket.on('error', disconnectClient);
}
listenForCommands() {
this.socket.on('data', data => {
console.log('driverClient received data: ' + data);
const config = JSON.parse(data.toString());
console.log(`config is: ${config}`);
this.messageDelegate.handleMessage({ method: config.method, params: config.params });
});
}
connect() {
this.raasClient = new raas_client_1.RaasClient();
this.raasClient.connect(2000, this.raasConfig.host, this.raasConfig.port).then(() => {
console.log('diverClient ==> raasClient connected...');
this.messageDelegate = new driverMessageDelegate_1.DriverMessageDelage(this.raasClient);
this.listenForCommands();
this.registerRaasClientListeners();
});
}
disconnectClient() {
console.log('driverClient diconnected...');
this.emitter.emit('clientDisconnected', this);
this.raasClient.disconnect();
}
registerRaasClientListeners() {
this.raasClient.onDisconnected(() => {
console.log('raasClient socket disconnected...');
this.socket.destroy();
this.emitter.emit('clientDisconnected', this);
});
// this.raasClient.onServerStateChange(handle => {
// this.socket.write(`server state changed: ${JSON.stringify(handle)}`);
// });
}
}
exports.DriverClient = DriverClient;
//# sourceMappingURL=driverClient.js.map