diff options
author | Thomas White <taw@physics.org> | 2021-04-15 15:30:25 +0200 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2021-04-15 16:43:40 +0200 |
commit | afcb7b568947c20fb3477a178be5aefe3203b603 (patch) | |
tree | 25d3d8a475bd4353083ce00f893e766525e1e625 /src/im-zmq.h | |
parent | 0dcd6c7e2fbfe78e4d2f26e01de0d4ea032d8fd6 (diff) |
Separate ZMQ from MessagePack, switch to pub/sub socket
Indexamajig uses only ZMQ, to receive streaming data, while libcrystfel
uses only msgpack to implement another type of image format.
The two of these are eventually tied together in process_image, which
does this: if ( have_zmq_data ) interpret_zmq_data_as_msgpack;
- however, they would be easy to split up if we wanted to do something
else (CBF data over ZMQ, anyone?).
This commit also switches the ZMQ connector to use a pub/sub socket
instead of a request/reply one. This matches changes in OnDA.
At the moment, the MessagePack image reader simply dumps the object to
disk.
Diffstat (limited to 'src/im-zmq.h')
-rw-r--r-- | src/im-zmq.h | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/src/im-zmq.h b/src/im-zmq.h index 87128895..c6bad6cc 100644 --- a/src/im-zmq.h +++ b/src/im-zmq.h @@ -7,7 +7,7 @@ * a research centre of the Helmholtz Association. * * Authors: - * 2018-2019 Thomas White <taw@physics.org> + * 2018-2021 Thomas White <taw@physics.org> * 2014 Valerio Mariani * 2017 Stijn de Graaf * @@ -36,28 +36,18 @@ #include <config.h> #endif -#if defined(HAVE_MSGPACK) && defined(HAVE_ZMQ) - -#include <msgpack.h> +#if defined(HAVE_ZMQ) extern struct im_zmq *im_zmq_connect(const char *zmq_address); - -extern void im_zmq_clean(struct im_zmq *z); - extern void im_zmq_shutdown(struct im_zmq *z); +extern void *im_zmq_fetch(struct im_zmq *z, size_t *pdata_size); -extern msgpack_object *im_zmq_fetch(struct im_zmq *z); - -#else /* defined(HAVE_MSGPACK) && defined(HAVE_ZMQ) */ +#else /* defined(HAVE_ZMQ) */ static UNUSED struct im_zmq *im_zmq_connect(const char *zmq_address) { return NULL; } +static UNUSED void im_zmq_shutdown(struct im_zmq *z) { } +static UNUSED void *im_zmq_fetch(struct im_zmq *z, size_t *psize) { *psize = 0; return NULL; } -static UNUSED void im_zmq_clean(struct im_zmq *z) { return; } - -static UNUSED void im_zmq_shutdown(struct im_zmq *z) { return; } - -static UNUSED void *im_zmq_fetch(struct im_zmq *z) { return NULL; } - -#endif /* defined(HAVE_MSGPACK) && defined(HAVE_ZMQ) */ +#endif /* defined(HAVE_ZMQ) */ #endif /* CRYSTFEL_ZMQ_H */ |