From 39531b1f998265120c9d194cffe846b6f1b1878b Mon Sep 17 00:00:00 2001 From: AlexKvazos Date: Fri, 1 May 2015 12:11:02 -0500 Subject: [PATCH] More performant way of defining event listeners --- app/server/bot/events/end.js | 6 ++++-- app/server/bot/events/error.js | 6 ++++-- app/server/bot/events/login.js | 6 ++++-- app/server/bot/events/message.js | 6 ++++-- app/server/bot/events/spawn.js | 6 ++++-- app/server/sockets/events/chat.js | 6 ++++-- app/server/sockets/events/connection.js | 6 ++++-- app/server/sockets/events/disconnection.js | 14 ++++---------- app/server/sockets/events/players.js | 6 ++++-- 9 files changed, 36 insertions(+), 26 deletions(-) diff --git a/app/server/bot/events/end.js b/app/server/bot/events/end.js index fc2b788..9d10ad2 100644 --- a/app/server/bot/events/end.js +++ b/app/server/bot/events/end.js @@ -1,8 +1,10 @@ module.exports = (socket) => { - socket.mcbot.on('end', () => { + function onEnd() { socket.emit('bot:disconnect'); delete socket.mcbot; - }); + } + + socket.mcbot.on('end', onEnd); }; diff --git a/app/server/bot/events/error.js b/app/server/bot/events/error.js index 7f23e03..e0ae0ae 100644 --- a/app/server/bot/events/error.js +++ b/app/server/bot/events/error.js @@ -1,6 +1,6 @@ module.exports = (socket) => { - socket.mcbot.on('error', (error) => { + function onError(error) { // this is okay because the connection was ended if (error.toString() === 'Error: write after end') return; @@ -14,6 +14,8 @@ module.exports = (socket) => { // delete the bot delete socket.mcbot; - }); + } + + socket.mcbot.on('error', onError); }; diff --git a/app/server/bot/events/login.js b/app/server/bot/events/login.js index 304e56f..6a2a177 100644 --- a/app/server/bot/events/login.js +++ b/app/server/bot/events/login.js @@ -1,6 +1,6 @@ module.exports = (socket) => { - socket.mcbot.on('login', () => { + function onLogin() { socket.emit('buffer:success', `Successfully logged in as ${socket.mcbot.username} with entity id ${socket.mcbot.entity.id}`); socket.emit('bot:connect', { host: socket.connectionParams.hostname, @@ -8,6 +8,8 @@ module.exports = (socket) => { username: socket.mcbot.username }); console.log(`logged in > ${socket.connectionParams.hostname}:${socket.connectionParams.port} - Username: ${socket.mcbot.username}`); - }); + } + + socket.mcbot.on('login', onLogin); }; diff --git a/app/server/bot/events/message.js b/app/server/bot/events/message.js index ecca811..096ace2 100644 --- a/app/server/bot/events/message.js +++ b/app/server/bot/events/message.js @@ -5,7 +5,7 @@ import {escapeHtml} from '../../utils'; module.exports = (socket) => { - socket.mcbot.on('message', (message) => { + function onMessage(message) { // empty buffer var buffer = ''; @@ -44,6 +44,8 @@ module.exports = (socket) => { // send line back to the client socket.emit('bot:message', buffer); - }); + } + + socket.mcbot.on('message', onMessage); }; diff --git a/app/server/bot/events/spawn.js b/app/server/bot/events/spawn.js index 4e44496..20cf113 100644 --- a/app/server/bot/events/spawn.js +++ b/app/server/bot/events/spawn.js @@ -1,9 +1,11 @@ module.exports = (socket) => { - socket.mcbot.on('spawn', () => { + function onSpawn() { var pos = socket.mcbot.entity.position; socket.emit('buffer:info', `Spawned at X:${pos.x}, Y:${pos.y}, Z:${pos.z}`); socket.emit('bot:players', socket.mcbot.players); - }); + } + + socket.mcbot.on('spawn', onSpawn); }; diff --git a/app/server/sockets/events/chat.js b/app/server/sockets/events/chat.js index 96ac7ca..4c98954 100644 --- a/app/server/sockets/events/chat.js +++ b/app/server/sockets/events/chat.js @@ -1,9 +1,11 @@ module.exports = (socket) => { - socket.on('chat', (data) => { + function onChat(data) { if (socket.mcbot && socket.mcbot.entity) { socket.mcbot.chat(data.message); } - }); + } + + socket.on('chat', onChat); }; diff --git a/app/server/sockets/events/connection.js b/app/server/sockets/events/connection.js index 52e477f..21f5922 100644 --- a/app/server/sockets/events/connection.js +++ b/app/server/sockets/events/connection.js @@ -3,7 +3,7 @@ import events from '../../bot'; module.exports = (socket) => { - socket.on('server:connect', (data) => { + function onConnection(data) { // log activity to console console.log(`connecting > ${data.hostname}:${data.port} - ${data.username}`); @@ -36,6 +36,8 @@ module.exports = (socket) => { // bind bot events events(socket); - }); + } + + socket.on('server:connect', onConnection); }; diff --git a/app/server/sockets/events/disconnection.js b/app/server/sockets/events/disconnection.js index 7866fa7..f48cf36 100644 --- a/app/server/sockets/events/disconnection.js +++ b/app/server/sockets/events/disconnection.js @@ -1,20 +1,14 @@ module.exports = (socket) => { - - socket.on('disconnect', () => { + function onDisconnection() { if (socket.mcbot) { socket.mcbot.end(); delete socket.mcbot; } - }); + } - socket.on('bot:disconnect', () => { - if (socket.mcbot) { - socket.mcbot.end(); - delete socket.mcbot; - } - }); - + socket.on('disconnect', onDisconnection); + socket.on('bot:disconnect', onDisconnection); }; diff --git a/app/server/sockets/events/players.js b/app/server/sockets/events/players.js index dbdb7ae..07cbf23 100644 --- a/app/server/sockets/events/players.js +++ b/app/server/sockets/events/players.js @@ -1,9 +1,11 @@ module.exports = (socket) => { - socket.on('players', () => { + function onPlayers() { if (socket.mcbot && socket.mcbot.players) { socket.emit('bot:players', socket.mcbot.players); } - }); + } + + socket.on('players', onPlayers); };