UNPKG

node-peercast

Version:
58 lines (57 loc) 1.84 kB
var log4js = require('log4js'); var Atom = require('./atom'); var logger = log4js.getLogger(); var HELLO = 'helo'; var OLLEH = 'oleh'; var HELLO_AGENT = 'agnt'; var HELLO_OS_TYPE = 'ostp'; var HELLO_SESSION_ID = 'sid\0'; var HELLO_PORT = 'port'; var HELLO_PING = 'ping'; var HELLO_VERSION = 'ver\0'; var HELLO_BC_ID = 'bcid'; //var OLLEH_PONG = 'pong'; var OLLEH_REMOTE_IP = 'rip\0'; //var OLLEH_DISABLE = 'dis\0'; var QUIT = 'quit'; function toName(simpleName) { switch (simpleName) { case HELLO: return 'hello'; case OLLEH: return 'olleh'; case QUIT: return 'quit'; default: logger.warn('Unsupported name: ' + simpleName); return simpleName; } } exports.toName = toName; function createHello(agent, osType, sessionId, port, ping, version, bcId) { var atom = Atom.createContainer(HELLO); atom.pushStringContent(HELLO_AGENT, agent); atom.pushIntContent(HELLO_OS_TYPE, osType); atom.pushGuidContent(HELLO_SESSION_ID, sessionId); atom.pushShortContent(HELLO_PORT, port); atom.pushShortContent(HELLO_PING, ping); atom.pushIntContent(HELLO_VERSION, version); atom.pushGuidContent(HELLO_BC_ID, bcId); return atom; } exports.createHello = createHello; function createOlleh(agent, sessionId, port, remoteIp, version) { var atom = Atom.createContainer(OLLEH); atom.pushStringContent(HELLO_AGENT, agent); atom.pushGuidContent(HELLO_SESSION_ID, sessionId); atom.pushShortContent(HELLO_PORT, port); //atom.pushShortContent(HELLO_PONG, pong); atom.pushIntContent(OLLEH_REMOTE_IP, remoteIp); atom.pushIntContent(HELLO_VERSION, version); return atom; } exports.createOlleh = createOlleh; function createQuit() { return Atom.createIntContent(QUIT, 0); } exports.createQuit = createQuit;