JFJochReceiver is directly invoked by the broker

This commit is contained in:
2023-11-13 16:08:28 +01:00
parent 3725ec5a73
commit dbef6a3b17
23 changed files with 300 additions and 1171 deletions

View File

@@ -24,9 +24,6 @@ TEST_CASE("StreamWriterTest_ZMQ","[JFJochWriter]") {
x.FilePrefix("subdir/JFJochWriterTest").NumTriggers(1).ImagesPerTrigger(5)
.UseInternalPacketGenerator(true).Mode(DetectorMode::Raw).PedestalG0Frames(0);
JFJochProtoBuf::ReceiverInput receiver_input;
*receiver_input.mutable_jungfraujoch_settings() = x;
JFModuleGainCalibration gain;
AcquisitionDeviceGroup aq_devices;
for (int i = 0; i < x.GetDataStreamsNum(); i++)
@@ -34,19 +31,19 @@ TEST_CASE("StreamWriterTest_ZMQ","[JFJochWriter]") {
ZMQImagePusher pusher (context, {zmq_addr});
JFJochReceiverService fpga_receiver_service(aq_devices, logger, pusher);
;
JFJochProtoBuf::ReceiverOutput receiver_output;
JFJochReceiverOutput receiver_output;
std::unique_ptr<StreamWriter> writer;
REQUIRE(x.GetImageNum() == 5);
REQUIRE_NOTHROW(writer = std::make_unique<StreamWriter>(context, logger, zmq_addr));
REQUIRE(fpga_receiver_service.Start(&grpc_context, &receiver_input, &empty).ok());
REQUIRE_NOTHROW(fpga_receiver_service.Start(x, nullptr));
REQUIRE_NOTHROW(writer->Run());
REQUIRE(fpga_receiver_service.Stop(&grpc_context, &empty, &receiver_output).ok());
CHECK(receiver_output.images_sent() == 5);
REQUIRE_NOTHROW(receiver_output = fpga_receiver_service.Stop());
CHECK(receiver_output.images_sent == 5);
// HDF5 file can be opened
std::unique_ptr<HDF5ReadOnlyFile> file;
@@ -84,9 +81,6 @@ TEST_CASE("JFJochWriterServiceTest_ZMQ","[JFJochWriter]") {
.UseInternalPacketGenerator(true)
.Mode(DetectorMode::Raw).PedestalG0Frames(0);
JFJochProtoBuf::ReceiverInput receiver_input;
*receiver_input.mutable_jungfraujoch_settings() = x;
JFModuleGainCalibration empty_gain;
AcquisitionDeviceGroup aq_devices;
@@ -99,14 +93,14 @@ TEST_CASE("JFJochWriterServiceTest_ZMQ","[JFJochWriter]") {
JFJochProtoBuf::WriterInput writer_input;
writer_input.set_zmq_receiver_address(zmq_addr);
JFJochProtoBuf::ReceiverOutput receiver_output;
JFJochReceiverOutput receiver_output;
JFJochProtoBuf::WriterOutput writer_output;
REQUIRE(x.GetImageNum() == 5);
REQUIRE(writer.Start(&grpc_context, &writer_input, &empty).ok());
REQUIRE(fpga_receiver_service.Start(&grpc_context, &receiver_input, &empty).ok());
REQUIRE(fpga_receiver_service.Stop(&grpc_context, &empty, &receiver_output).ok());
REQUIRE_NOTHROW(fpga_receiver_service.Start(x, nullptr));
REQUIRE_NOTHROW(receiver_output = fpga_receiver_service.Stop());
REQUIRE(writer.Stop(&grpc_context, &empty, &writer_output).ok());
REQUIRE(writer_output.nimages() == 5);