Page Menu
Home
Sealhub
Search
Configure Global Search
Log In
Files
F7861533
dispatcher-distributed-web.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1 KB
Referenced Files
None
Subscribers
None
dispatcher-distributed-web.js
View Options
var
Promise
=
require
(
"bluebird"
);
var
config
=
require
(
"prometheus-config"
);
var
io_client
=
require
(
'socket.io-client'
)
var
ip
=
require
(
'ip'
);
var
DispatcherDistributedWEB
=
new
function
(){
var
server_config
=
null
;
var
socket
=
null
;
var
max_request_id
=
0
;
var
callback_queue
=
{};
function
getRequestId
(){
max_request_id
+=
1
;
return
max_request_id
;
}
function
addCallbackToQueue
(
id
,
callback
){
callback_queue
[
id
]
=
callback
;
}
function
resolveToCallback
(
response_data
){
var
callback
=
callback_queue
[
response_data
.
request_id
];
callback
(
response_data
.
payload
);
delete
callback_queue
[
response_data
.
request_id
];
}
function
generateBizUrl
(){
var
cfg
=
config
.
biz_layer_config
;
return
"http://"
+
cfg
.
host
+
":"
+
cfg
.
port
;
}
this
.
init
=
function
(){
var
biz_url
=
generateBizUrl
();
socket
=
io_client
.
connect
(
biz_url
,
{
reconnect
:
true
});
socket
.
on
(
"response"
,
function
(
data
){
resolveToCallback
(
data
);
})
}
function
call_over_socket
(
method_name
,
args
){
//console.log("sending method call to ", method_name, ", with ", args);
var
id
=
getRequestId
();
socket
.
emit
(
"request"
,
{
method_name
:
method_name
,
arguments
:
args
,
request_id
:
id
});
return
new
Promise
(
function
(
resolve
,
rejected
){
addCallbackToQueue
(
id
,
function
(
data
){
resolve
(
data
);
})
})
}
var
functions_resolved_by_socket
=
[
"request_update"
,
"fire_service_action"
,
"resources_list_by_type"
,
"resources_create"
,
"metadata_increment_variable"
];
for
(
var
i
in
functions_resolved_by_socket
){
var
function_name
=
functions_resolved_by_socket
[
i
];
this
[
function_name
]
=
(
function
(
name
){
return
function
(){
return
call_over_socket
(
name
,
arguments
);
}
})(
function_name
);
}
}
module
.
exports
=
DispatcherDistributedWEB
;
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Aug 13, 19:37 (7 h, 35 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
876991
Default Alt Text
dispatcher-distributed-web.js (1 KB)
Attached To
Mode
rS Sealious
Attached
Detach File
Event Timeline
Log In to Comment