mirror of
https://github.com/Ride-The-Lightning/RTL.git
synced 2026-08-13 12:33:07 +02:00
Loop monitor POC
Loop monitor POC
This commit is contained in:
parent
c0dd171873
commit
2f5817cb36
29 changed files with 1999 additions and 147 deletions
39
rtl.js
39
rtl.js
|
|
@ -3,6 +3,11 @@ const common = require("./common");
|
|||
const debug = require("debug")("node-angular");
|
||||
const http = require("http");
|
||||
var connect = require('./connect').setServerConfiguration(); //Do NOT Remove
|
||||
const grpc = require('grpc');
|
||||
const protoLoader = require('@grpc/proto-loader');
|
||||
const packageDefinition = protoLoader.loadSync('./controllers/loopd/client.proto', {keepCase: true, longs: String, enums: String, defaults: true, oneofs: true});
|
||||
const looprpc = grpc.loadPackageDefinition(packageDefinition).looprpc;
|
||||
const swapClient = new looprpc.SwapClient('localhost:11010', grpc.credentials.createInsecure());
|
||||
|
||||
const onError = error => {
|
||||
if (error.syscall !== "listen") {
|
||||
|
|
@ -35,6 +40,40 @@ const onListening = () => {
|
|||
};
|
||||
|
||||
const server = http.createServer(app);
|
||||
const io = require('socket.io')(server);
|
||||
|
||||
const loopMonitor = io.of('/loopMonitor').on('connection', (socket) => {
|
||||
let i = 1;
|
||||
let call = null;
|
||||
socket.on('start', function() {
|
||||
console.log('Application started subscription');
|
||||
console.log(call);
|
||||
var request = {};
|
||||
call = swapClient.monitor(request);
|
||||
call.on('data', function(response) {
|
||||
console.log('Monitor sent message as: ' + JSON.stringify(response));
|
||||
socket.emit('message', { message: response });
|
||||
});
|
||||
call.on('status', function(status) {
|
||||
console.log('Monitor status: ' + JSON.stringify(status));
|
||||
socket.emit('status', { message: status });
|
||||
});
|
||||
call.on('end', function() {
|
||||
console.log('Monitor stopped streaming');
|
||||
socket.emit('end');
|
||||
});
|
||||
interval = setInterval(() => {
|
||||
socket.emit('message', { message: 'Message ' + i });
|
||||
i++;
|
||||
}, 2000);
|
||||
});
|
||||
socket.on('end', function() {
|
||||
// call = null;
|
||||
clearInterval(interval);
|
||||
console.log('Socket stopped subscription');
|
||||
});
|
||||
});
|
||||
|
||||
server.on("error", onError);
|
||||
server.on("listening", onListening);
|
||||
server.listen(common.port);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue