aboutsummaryrefslogtreecommitdiff
path: root/src/indexamajig.c
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2021-05-05 17:07:13 +0200
committerThomas White <taw@physics.org>2021-05-05 17:14:04 +0200
commitce270ad7d8136aac47a802a9a72c011344f90527 (patch)
tree1df70574efad2ceb31edb43582ba7ff2c8a2c8ea /src/indexamajig.c
parente11394ce9133333af01afd88a0f484d6ea70665d (diff)
indexamajig: Add --zmq-request
This (re-)adds the ability to get data via a request/reply socket. See afcb7b568947c for when it was removed.
Diffstat (limited to 'src/indexamajig.c')
-rw-r--r--src/indexamajig.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/indexamajig.c b/src/indexamajig.c
index 43709cf6..16822989 100644
--- a/src/indexamajig.c
+++ b/src/indexamajig.c
@@ -81,6 +81,7 @@ struct indexamajig_arguments
char *indm_str;
int basename;
char *zmq_addr;
+ char *zmq_request;
char *zmq_subscriptions[256];
int n_zmq_subscriptions;
int serial_start;
@@ -371,6 +372,10 @@ static error_t parse_arg(int key, char *arg, struct argp_state *state)
args->zmq_subscriptions[args->n_zmq_subscriptions++] = strdup(arg);
break;
+ case 212 :
+ args->zmq_request = strdup(arg);
+ break;
+
/* ---------- Peak search ---------- */
case 't' :
@@ -786,6 +791,7 @@ int main(int argc, char *argv[])
args.indm_str = NULL;
args.basename = 0;
args.zmq_addr = NULL;
+ args.zmq_request = NULL;
args.n_zmq_subscriptions = 0;
args.serial_start = 1;
args.if_peaks = 1;
@@ -892,6 +898,8 @@ int main(int argc, char *argv[])
{"no-mask-data", 210, NULL, OPTION_NO_USAGE, "Do not load mask data"},
{"zmq-subscribe", 211, "tag", OPTION_NO_USAGE, "Subscribe to ZMQ message"
"type"},
+ {"zmq-request", 212, "str", OPTION_NO_USAGE, "Request messages using"
+ "this string."},
{NULL, 0, 0, OPTION_DOC, "Peak search options:", 3},
{"peaks", 301, "method", 0, "Peak search method. Default: zaef"},
@@ -1026,6 +1034,12 @@ int main(int argc, char *argv[])
return 1;
}
+ if ( (args.zmq_request != NULL) && (args.n_zmq_subscriptions > 0) ) {
+ ERROR("The options --zmq-request and --zmq-subscribe are "
+ "mutually exclusive.\n");
+ return 1;
+ }
+
/* Open input */
if ( args.filename != NULL ) {
if ( strcmp(args.filename, "-") == 0 ) {
@@ -1243,7 +1257,7 @@ int main(int argc, char *argv[])
r = create_sandbox(&args.iargs, args.n_proc, args.prefix, args.basename,
fh, st, tmpdir, args.serial_start, args.zmq_addr,
args.zmq_subscriptions, args.n_zmq_subscriptions,
- timeout, args.profile);
+ args.zmq_request, timeout, args.profile);
cell_free(args.iargs.cell);
free(args.prefix);