Age | Commit message (Collapse) | Author |
|
This clears up multiple layering violations which were starting to get
in the way. It enables "string" headers to be stored directly, and it
will make it much simpler to add new header types in the future.
Along the way, this changes all the floating point header stuff to use
double precision. This is needed for EuXFEL event IDs.
Closes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/34
|
|
The changes in b22f6f524 were incorrect. config.h should never be
included from libcrystfel headers, because that will include the main
CrystFEL program config.h instead.
|
|
|
|
This moves the entry point for loading MsgPack data to a new function,
image_read_data_block. Inside image.c, the image structure can be
created using exactly the same functions as for data files.
|
|
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.
|
|
|
|
Same reason as removing them from tests. Also, libcrystfel might be
used in projects which have HAVE_CONFIG_H defined.
|
|
Note the nicer separation: ZMQ is in indexamajig only, whereas
MessagePack becomes something generally accessible through libcrystfel.
|