mirror of
https://github.com/pezkuwichain/pezkuwi-telemetry.git
synced 2026-05-30 20:31:07 +00:00
31 lines
855 B
TypeScript
31 lines
855 B
TypeScript
import * as WebSocket from 'ws';
|
|
import Node from './Node';
|
|
import Feed from './Feed';
|
|
import Aggregator from './Aggregator';
|
|
|
|
const aggregator = new Aggregator();
|
|
|
|
// WebSocket for Nodes feeding telemetry data to the server
|
|
const incomingTelemetry = new WebSocket.Server({ port: 1024 });
|
|
|
|
// WebSocket for web clients listening to the telemetry data aggregate
|
|
const telemetryFeed = new WebSocket.Server({ port: 8080 });
|
|
|
|
console.log('Telemetry server listening on port 1024');
|
|
console.log('Feed server listening on port 8080');
|
|
|
|
incomingTelemetry.on('connection', async (socket: WebSocket) => {
|
|
try {
|
|
const node = await Node.fromSocket(socket);
|
|
|
|
aggregator.addNode(node);
|
|
} catch (err) {
|
|
console.error(err);
|
|
}
|
|
});
|
|
|
|
telemetryFeed.on('connection', (socket: WebSocket) => {
|
|
aggregator.addFeed(new Feed(socket));
|
|
});
|
|
|