port = parseInt(process.argv[5]);
}
+// gRPC backends.
+var grpc_backends = ["localhost:50051", "localhost:50052"];
+if (process.argv.length >= 7) {
+ grpc_backends = process.argv[6].split(",");
+}
+hash_lookup.init(grpc_backends);
+
// If set to 1, we are already processing a JSON update and should not
// start a new one. If set to 2, we are _also_ having one in the queue.
var json_lock = 0;
}
}
+ var parsed = JSON.parse(new_json_contents);
+
+ if (parsed['internal']) {
+ if (parsed['internal']['grpc_backends'] &&
+ hash_lookup.need_reinit(parsed['internal']['grpc_backends'])) {
+ hash_lookup.init(parsed['internal']['grpc_backends']);
+ }
+ delete parsed['internal'];
+ new_json_contents = JSON.stringify(parsed);
+ }
+
var new_json = {
- parsed: JSON.parse(new_json_contents),
+ parsed: parsed,
plain: new_json_contents,
last_modified: mtime
};
if (json_lock == 1) {
// Already processing; wait a bit.
json_lock = 2;
- setTimeout(function() { json_lock = 1; reread_file(event, filename); }, 100);
+ setTimeout(function() { if (json_lock == 2) json_lock = 1; reread_file(event, filename); }, 100);
return;
}
json_lock = 1;