reconstruct packets / organize
parent
3bd8634172
commit
b0265b7ca7
|
|
@ -1,26 +0,0 @@
|
|||
(async () => {
|
||||
const { title } = require('../lib/title');
|
||||
const net = require('net');
|
||||
const os = require('os');
|
||||
const log = require('signale');
|
||||
const { config } = require('./../package.json');
|
||||
const { hri } = require('human-readable-ids');
|
||||
const { Profiles } = require('../lib/Profiles');
|
||||
const profiles = new Profiles('client');
|
||||
const yargs = require('yargs').argv;
|
||||
const identity = yargs.profile ?
|
||||
await profiles.get(yargs.profile) :
|
||||
await profiles.get((await profiles.all())[0]);
|
||||
|
||||
// const id = hri.random();
|
||||
|
||||
// console.log(id)
|
||||
|
||||
// title(id);
|
||||
// title(identity.name.replace(/-/g, ' '));
|
||||
|
||||
// await profiles.create();
|
||||
|
||||
|
||||
|
||||
})();
|
||||
|
|
@ -6,7 +6,6 @@ const {
|
|||
KeyExchangePacket,
|
||||
AckPacket
|
||||
} = require('./packets');
|
||||
const { rejects } = require('assert');
|
||||
|
||||
module.exports.createServer = function({identity = {}, port = 5000} = {}, cb = _ => _) {
|
||||
const server = new Server(identity, port);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
class STPPacket {
|
||||
cmd = 'NOOP';
|
||||
data = {};
|
||||
|
|
@ -32,7 +30,43 @@ function basicPacket(commandName) {
|
|||
}
|
||||
}
|
||||
|
||||
module.exports.STPPacket = STPPacket;
|
||||
class ClientsPacket extends STPPacket {
|
||||
constructor(clients) {
|
||||
super();
|
||||
this.cmd = 'NODES'
|
||||
this.data.clients = clients;
|
||||
}
|
||||
}
|
||||
|
||||
const AckPacket = basicPacket('ACK');
|
||||
const GetClientsPacket = basicPacket('QNODES');
|
||||
|
||||
function reconstructPacket(packet) {
|
||||
|
||||
if(packet.startsWith('\02'))
|
||||
return reconstructPacket(packet.substr(1));
|
||||
if(packet.endsWith('\x03'))
|
||||
return reconstructPacket(packet.substr(0, packet.length - 1));
|
||||
|
||||
const obj = JSON.parse(packet);
|
||||
|
||||
switch(obj.cmd) {
|
||||
case 'KEY': return new KeyExchangePacket(obj.data.key, obj.meta.type);
|
||||
case 'NODES': return new ClientsPacket(obj.data.clients);
|
||||
case 'QNODES': return new GetClientsPacket();
|
||||
case 'ACK': return new AckPacket();
|
||||
|
||||
case 'NOOP': return new STPPacket();
|
||||
default: throw new TypeError(`Unknown command ${obj.cmd}`);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// module.exports.STPPacket = STPPacket;
|
||||
module.exports.KeyExchangePacket = KeyExchangePacket;
|
||||
module.exports.AckPacket = basicPacket('ACK')
|
||||
module.exports.GetClientsPacket = basicPacket('NODES')
|
||||
module.exports.ClientsPacket = ClientsPacket;
|
||||
|
||||
module.exports.AckPacket = AckPacket;
|
||||
module.exports.GetClientsPacket = GetClientsPacket;
|
||||
|
||||
module.exports.reconstructPacket = reconstructPacket;
|
||||
|
|
@ -5,7 +5,11 @@ class Node extends EventEmitter {
|
|||
constructor() {
|
||||
|
||||
}
|
||||
|
||||
static get Node() {
|
||||
return Node;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module.exports.Node = Node;
|
||||
module.exports = Node;
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
(async () => {
|
||||
const { config } = require('./../package.json');
|
||||
const net = require('net');
|
||||
const dns = require('dns');
|
||||
const stp = require('../lib/STP');
|
||||
const os = require('os');
|
||||
const { title } = require('../lib/title');
|
||||
const { hri } = require('human-readable-ids');
|
||||
const log = require('signale');
|
||||
const Keyv = require('keyv');
|
||||
const { KeyvFile } = require('keyv-file');
|
||||
const kv = new Keyv({
|
||||
store: new KeyvFile({
|
||||
filename: `${os.tmpdir()}/valnet/name-server/data.json`
|
||||
})
|
||||
});
|
||||
const { Identity } = require('./../lib/Identity');
|
||||
title('Name Server');
|
||||
|
||||
const identity = new Identity('name-server', 'default');
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
})();
|
||||
Reference in New Issue