7 var dgram = require(
'dgram');
8 var emitter = require(
'events').EventEmitter;
9 var arc =
new emitter();
11 function startJSONListener(workerData, partition)
13 var server = dgram.createSocket(
'udp4');
15 console.log(
"Setting up JSON listener for partition " + partition);
16 server.on(
"error",
function(err) {
17 console.log(
"artdaq-runcontrol listen server error:\n" + err.stack);
21 server.on(
"message",
function(msg, rinfo) {;
22 var thisEvent = JSON.parse(msg);
24 arc.emit(
"message", {name:
"artdaq-runcontrol",target:
"p"+partition+
"onmon",data:
true});
25 arc.emit(
"message", {name:
"artdaq-runcontrol",target:
"p"+partition+
"evt",method:
"push",data:thisEvent});
28 server.on(
"listening",
function () {
29 var address = server.address();
30 console.log(
"server listening " +
31 address.address +
":" + address.port);
34 console.log(
"Binding Server to port " + (35555 + partition) );
35 server.bind(35555 + partition);
39 arc.MasterInitFunction =
function( workerData ) {
43 arc.WorkerInitFunction =
function( workerData ) {
44 startJSONListener(workerData, 0);
45 startJSONListener(workerData, 1);
46 startJSONListener(workerData, 2);
47 startJSONListener(workerData, 3);
51 module.exports =
function ( module_holder ) {
52 module_holder[
"dispatcher-receiver"] = arc;