Server IP : 85.214.239.14 / Your IP : 18.191.234.43 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/2/task/2/cwd/lib/node_modules/pm2/node_modules/pm2-axon/lib/sockets/ |
Upload File : |
/** * Module dependencies. */ var slice = require('../utils').slice; var debug = require('debug')('axon:rep'); var Message = require('amp-message'); var Socket = require('./sock'); /** * Expose `RepSocket`. */ module.exports = RepSocket; /** * Initialize a new `RepSocket`. * * @api private */ function RepSocket() { Socket.call(this); } /** * Inherits from `Socket.prototype`. */ RepSocket.prototype.__proto__ = Socket.prototype; /** * Incoming. * * @param {net.Socket} sock * @return {Function} closure(msg, mulitpart) * @api private */ RepSocket.prototype.onmessage = function(sock){ var self = this; return function (buf){ var msg = new Message(buf); var args = msg.args; var id = args.pop(); args.unshift('message'); args.push(reply); self.emit.apply(self, args); function reply() { var fn = function(){}; var args = slice(arguments); args[0] = args[0] || null; var hasCallback = 'function' == typeof args[args.length - 1]; if (hasCallback) fn = args.pop(); args.push(id); if (sock.writable) { sock.write(self.pack(args), function(){ fn(true) }); return true; } else { debug('peer went away'); process.nextTick(function(){ fn(false) }); return false; } } }; };