From 34c860ef99fa155591a657512985553ac3a599fd Mon Sep 17 00:00:00 2001 From: Holden Rohrer Date: Sun, 19 Jan 2020 20:35:01 -0500 Subject: added wrapper for socket.js writes --- examples/jarvis.js | 2 ++ utils/writewrap.js | 12 ++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 utils/writewrap.js diff --git a/examples/jarvis.js b/examples/jarvis.js index 8abd9c9..9b692e2 100644 --- a/examples/jarvis.js +++ b/examples/jarvis.js @@ -10,6 +10,7 @@ const sched = require('../tools/schedule'); const ri = require('../utils/rectintersect'); const id = require('../utils/ident'); const maketiles = require('../utils/maketiles'); +const wwrap = require('../utils/writewrap'); //// The queue of all writes to be sent to the server @ 200chars/1000ms var writes = new sched.Queue(1000, 200, (elems) => main.write(elems)); @@ -17,6 +18,7 @@ var main = new Socket(); // See ident.js for further documentation, but this basically sets up init functions id(main, initOnce, init, deinit); +writeListen = new wwrap(main); var sender; function init(send){ diff --git a/utils/writewrap.js b/utils/writewrap.js new file mode 100644 index 0000000..96f1ad1 --- /dev/null +++ b/utils/writewrap.js @@ -0,0 +1,12 @@ +// An EventEmitter wrapper for socket.js writes +const EventEmitter = require('events'); + +class wwrap extends EventEmitter{ + constructor(socket){ + super(); + socket.on('write', (acc) => { // Assumed that none are rejected because I've never seen it + for (w of acc) this.emit(w); + }); + } +} +module.exports = wwrap; -- cgit