Built motion from commit fade34fd.|2.5.41
[motion2.git] / server / services / routing / server / applications / strategy / agent.js
index 492516e..9fe7250 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x9731=['showNotification','writeLog','RINGING',':FORCED','[%s][AGENT]\x20agent\x20%s\x20is\x20not\x20available','[%s][AGENT]\x20timeout\x20with\x20%s','hideNotification','TIMEOUT','exports','./util','../../../../../config/logger','routing','notificationId','squeue','realtime','handleRun','bind','handleTimeout','prototype','push','handleDrained','info','[%s][AGENT]\x20try\x20with\x20%s','isNil','agents','[%s][AGENT]\x20agent\x20skipped,\x20unknown\x20id\x20%s','agent','forcedOwnership','isAgentAvailable','channel','busy','busyQueue'];(function(_0x22165a,_0x228d4e){var _0x23d058=function(_0x3e1457){while(--_0x3e1457){_0x22165a['push'](_0x22165a['shift']());}};_0x23d058(++_0x228d4e);}(_0x9731,0x189));var _0x1973=function(_0x2d8878,_0x272faf){_0x2d8878=_0x2d8878-0x0;var _0xd7a71a=_0x9731[_0x2d8878];return _0xd7a71a;};'use strict';var _=require('lodash');var uuid=require('uuid');var util=require(_0x1973('0x0'));var logger=require(_0x1973('0x1'))(_0x1973('0x2'));var Agent=function(_0x3a8318,_0x29d1d1,_0x7997e5,_0x36eae1){this[_0x1973('0x3')]=uuid['v4']();this[_0x1973('0x4')]=_0x3a8318;this['agent']=_0x29d1d1;this[_0x1973('0x5')]=_0x7997e5;this[_0x1973('0x2')]=_0x36eae1;this[_0x1973('0x4')]['push'](this[_0x1973('0x6')][_0x1973('0x7')](this),this['handleTimeout'][_0x1973('0x7')](this));this[_0x1973('0x4')]['on']('timeout',this[_0x1973('0x8')][_0x1973('0x7')](this));this['squeue']['on']('drained',this['handleDrained']['bind'](this));};Agent[_0x1973('0x9')][_0x1973('0xa')]=function(){this[_0x1973('0x4')][_0x1973('0xa')](this['handleRun'][_0x1973('0x7')](this),this[_0x1973('0x8')][_0x1973('0x7')](this));};Agent[_0x1973('0x9')][_0x1973('0xb')]=function(){this['handleTimeout'](!![]);};Agent[_0x1973('0x9')]['handleRun']=function(_0xfdaaec){logger[_0x1973('0xc')](_0x1973('0xd'),this['squeue']['id'],this['agent']['id']);if(_[_0x1973('0xe')](this[_0x1973('0x5')][_0x1973('0xf')][this['agent']['id']])){logger[_0x1973('0xc')](_0x1973('0x10'),this[_0x1973('0x4')]['id'],this[_0x1973('0x11')]['id']);setTimeout(this[_0x1973('0xa')][_0x1973('0x7')](this),0x3e8);}else{if(this[_0x1973('0x2')][_0x1973('0x12')]||util[_0x1973('0x13')](this[_0x1973('0x4')]['id'],this[_0x1973('0x5')][_0x1973('0xf')][this[_0x1973('0x11')]['id']],this['squeue'][_0x1973('0x14')],![])){this[_0x1973('0x5')][_0x1973('0xf')][this[_0x1973('0x11')]['id']][_0x1973('0x15')]=!![];this[_0x1973('0x5')][_0x1973('0xf')][this[_0x1973('0x11')]['id']][_0x1973('0x16')]=undefined;util[_0x1973('0x17')](this[_0x1973('0x3')],this[_0x1973('0x4')]['id'],this[_0x1973('0x5')][_0x1973('0xf')][this[_0x1973('0x11')]['id']],null,this[_0x1973('0x2')]);util[_0x1973('0x18')](this['squeue']['id'],this['realtime'][_0x1973('0xf')][this['agent']['id']],_0x1973('0x19')+(this['routing'][_0x1973('0x12')]?_0x1973('0x1a'):''));}else{logger[_0x1973('0xc')](_0x1973('0x1b'),this[_0x1973('0x4')]['id'],this[_0x1973('0x11')]['id']);setTimeout(this[_0x1973('0xa')][_0x1973('0x7')](this),0x3e8);}}};Agent[_0x1973('0x9')]['handleTimeout']=function(_0x21a985){if(_[_0x1973('0xe')](this[_0x1973('0x5')]['agents'][this['agent']['id']])){return logger[_0x1973('0xc')]('[%s][AGENT]\x20agent\x20skipped,\x20unknown\x20id\x20%s',this[_0x1973('0x4')]['id'],this['agent']['id']);}else{logger[_0x1973('0xc')](_0x1973('0x1c'),this[_0x1973('0x4')]['id'],this['agent']['id']);util[_0x1973('0x1d')](this[_0x1973('0x3')],this[_0x1973('0x4')]['id'],this['realtime']['agents'][this[_0x1973('0x11')]['id']],null,this[_0x1973('0x2')]);this['realtime'][_0x1973('0xf')][this[_0x1973('0x11')]['id']][_0x1973('0x15')]=![];this['realtime'][_0x1973('0xf')][this[_0x1973('0x11')]['id']][_0x1973('0x16')]=undefined;util[_0x1973('0x18')](this[_0x1973('0x4')]['id'],this[_0x1973('0x5')][_0x1973('0xf')][this[_0x1973('0x11')]['id']],_0x21a985?'STOP':_0x1973('0x1e'));}if(!_0x21a985){setTimeout(this[_0x1973('0xa')][_0x1973('0x7')](this),0x3e8);}};function agent(_0x41d909,_0xdca781,_0x443b69,_0x587712){return new Agent(_0x41d909,_0xdca781,_0x443b69,_0x587712);}module[_0x1973('0x1f')]=agent;
\ No newline at end of file
+var _0xd031=['handleDrained','prototype','[%s][AGENT]\x20try\x20with\x20%s','agents','forcedOwnership','channel','busyQueue','showNotification','writeLog',':FORCED','info','[%s][AGENT]\x20agent\x20%s\x20is\x20not\x20available','isNil','[%s][AGENT]\x20agent\x20skipped,\x20unknown\x20id\x20%s','hideNotification','STOP','exports','lodash','uuid','./util','../../../../../config/logger','routing','notificationId','squeue','agent','realtime','push','handleRun','bind','handleTimeout','timeout','drained'];(function(_0x5f3334,_0x39dc2f){var _0x2456f2=function(_0x58602f){while(--_0x58602f){_0x5f3334['push'](_0x5f3334['shift']());}};_0x2456f2(++_0x39dc2f);}(_0xd031,0x91));var _0x1d03=function(_0x450e9d,_0x1a7cf5){_0x450e9d=_0x450e9d-0x0;var _0x540604=_0xd031[_0x450e9d];return _0x540604;};'use strict';var _=require(_0x1d03('0x0'));var uuid=require(_0x1d03('0x1'));var util=require(_0x1d03('0x2'));var logger=require(_0x1d03('0x3'))(_0x1d03('0x4'));var Agent=function(_0x39b0e2,_0x5e9b88,_0x199350,_0x536c88){this[_0x1d03('0x5')]=uuid['v4']();this[_0x1d03('0x6')]=_0x39b0e2;this[_0x1d03('0x7')]=_0x5e9b88;this[_0x1d03('0x8')]=_0x199350;this[_0x1d03('0x4')]=_0x536c88;this['squeue'][_0x1d03('0x9')](this[_0x1d03('0xa')][_0x1d03('0xb')](this),this[_0x1d03('0xc')][_0x1d03('0xb')](this));this['squeue']['on'](_0x1d03('0xd'),this[_0x1d03('0xc')][_0x1d03('0xb')](this));this[_0x1d03('0x6')]['on'](_0x1d03('0xe'),this[_0x1d03('0xf')][_0x1d03('0xb')](this));};Agent[_0x1d03('0x10')][_0x1d03('0x9')]=function(){this[_0x1d03('0x6')][_0x1d03('0x9')](this[_0x1d03('0xa')][_0x1d03('0xb')](this),this[_0x1d03('0xc')]['bind'](this));};Agent['prototype'][_0x1d03('0xf')]=function(){this['handleTimeout'](!![]);};Agent[_0x1d03('0x10')]['handleRun']=function(_0x44a586){logger['info'](_0x1d03('0x11'),this[_0x1d03('0x6')]['id'],this['agent']['id']);if(_['isNil'](this['realtime'][_0x1d03('0x12')][this[_0x1d03('0x7')]['id']])){logger['info']('[%s][AGENT]\x20agent\x20skipped,\x20unknown\x20id\x20%s',this[_0x1d03('0x6')]['id'],this[_0x1d03('0x7')]['id']);setTimeout(this[_0x1d03('0x9')][_0x1d03('0xb')](this),0x3e8);}else{if(this['routing'][_0x1d03('0x13')]||util['isAgentAvailable'](this[_0x1d03('0x6')]['id'],this[_0x1d03('0x8')][_0x1d03('0x12')][this[_0x1d03('0x7')]['id']],this[_0x1d03('0x6')][_0x1d03('0x14')],![])){this[_0x1d03('0x8')][_0x1d03('0x12')][this[_0x1d03('0x7')]['id']]['busy']=!![];this['realtime'][_0x1d03('0x12')][this['agent']['id']][_0x1d03('0x15')]=undefined;util[_0x1d03('0x16')](this[_0x1d03('0x5')],this['squeue']['id'],this[_0x1d03('0x8')][_0x1d03('0x12')][this[_0x1d03('0x7')]['id']],null,this[_0x1d03('0x4')]);util[_0x1d03('0x17')](this[_0x1d03('0x6')]['id'],this[_0x1d03('0x8')][_0x1d03('0x12')][this[_0x1d03('0x7')]['id']],'RINGING'+(this[_0x1d03('0x4')][_0x1d03('0x13')]?_0x1d03('0x18'):''));}else{logger[_0x1d03('0x19')](_0x1d03('0x1a'),this[_0x1d03('0x6')]['id'],this['agent']['id']);setTimeout(this[_0x1d03('0x9')][_0x1d03('0xb')](this),0x3e8);}}};Agent['prototype'][_0x1d03('0xc')]=function(_0x57359d){if(_[_0x1d03('0x1b')](this[_0x1d03('0x8')][_0x1d03('0x12')][this['agent']['id']])){return logger[_0x1d03('0x19')](_0x1d03('0x1c'),this[_0x1d03('0x6')]['id'],this[_0x1d03('0x7')]['id']);}else{logger[_0x1d03('0x19')]('[%s][AGENT]\x20timeout\x20with\x20%s',this[_0x1d03('0x6')]['id'],this[_0x1d03('0x7')]['id']);util[_0x1d03('0x1d')](this[_0x1d03('0x5')],this[_0x1d03('0x6')]['id'],this['realtime'][_0x1d03('0x12')][this['agent']['id']],null,this['routing']);this[_0x1d03('0x8')][_0x1d03('0x12')][this['agent']['id']]['busy']=![];this['realtime'][_0x1d03('0x12')][this[_0x1d03('0x7')]['id']]['busyQueue']=undefined;util[_0x1d03('0x17')](this[_0x1d03('0x6')]['id'],this['realtime'][_0x1d03('0x12')][this['agent']['id']],_0x57359d?_0x1d03('0x1e'):'TIMEOUT');}if(!_0x57359d){setTimeout(this[_0x1d03('0x9')][_0x1d03('0xb')](this),0x3e8);}};function agent(_0x511ec6,_0x296b2c,_0x122b7e,_0xcd5fbe){return new Agent(_0x511ec6,_0x296b2c,_0x122b7e,_0xcd5fbe);}module[_0x1d03('0x1f')]=agent;
\ No newline at end of file