fix warnings

This commit is contained in:
Bechir 2024-04-05 16:04:01 +02:00
parent 3c58039502
commit 2f23e4610d
9 changed files with 25 additions and 17 deletions

View File

@ -12,12 +12,12 @@ int main() {
while (true) {
int rc = socket.receive(header, reinterpret_cast<std::byte *>(data));
aare::logger::info("Received header: ", header.to_string());
aare::logger::info("Received bytes",rc,"Received header: ", header.to_string());
auto *data_int = reinterpret_cast<uint32_t *>(data);
for (int i = 0; i < header.npixelsx; i++) {
for (int j = 0; j < header.npixelsy; j++) {
for (uint32_t i = 0; i < header.npixelsx; i++) {
for (uint32_t j = 0; j < header.npixelsy; j++) {
// verify that the sent data is correct
assert(data_int[i * header.npixelsy + j] == (i + j));
assert(data_int[i * header.npixelsy + j] == i + j);
}
}
aare::logger::info("Frame verified");

View File

@ -30,6 +30,7 @@ int main() {
aare::logger::info("Frame size:", frame.size(), "\n");
int rc = socket.send(header, frame.data(), frame.size());
aare::logger::info("Sent bytes", rc);
sleep(1);
}
return 0;

View File

@ -12,7 +12,12 @@ class RawFile : public FileInterface {
public:
std::filesystem::path m_fname; // TO be made private!
void write(Frame &frame) override{};
// pragma to ignore warnings
void write(Frame &frame) override{
throw std::runtime_error("Not implemented");
};
Frame read() override { return get_frame(this->current_frame++); };
std::vector<Frame> read(size_t n_frames) override;
void read_into(std::byte *image_buf) override { return get_frame_into(this->current_frame++, image_buf); };

View File

@ -89,7 +89,7 @@ template <typename DataType> size_t SubFile::read_impl_flip(std::byte *buffer) {
size_t SubFile::frame_number(int frame_index) {
sls_detector_header h{};
FILE *fp = fopen(this->m_fname.c_str(), "r");
fp = fopen(this->m_fname.c_str(), "r");
if (!fp)
throw std::runtime_error(fmt::format("Could not open: {} for reading", m_fname.c_str()));
fseek(fp, (sizeof(sls_detector_header) + bytes_per_part()) * frame_index, SEEK_SET);

View File

@ -19,7 +19,7 @@ TEST_CASE("Read a 1D numpy file with int32 data type") {
// use the load function to read the full file into a NDArray
auto data = f.load<int32_t, 1>();
for (size_t i = 0; i < 10; i++) {
for (int32_t i = 0; i < 10; i++) {
REQUIRE(data(i) == i);
}
}

View File

@ -20,7 +20,7 @@ class ZmqSocketReceiver : public ZmqSocket {
public:
ZmqSocketReceiver(const std::string &endpoint);
void connect();
int receive(ZmqHeader &header, std::byte *data, bool serialized_header = false);
size_t receive(ZmqHeader &header, std::byte *data, bool serialized_header = false);
};
} // namespace aare

View File

@ -7,6 +7,6 @@ class ZmqSocketSender : public ZmqSocket {
public:
ZmqSocketSender(const std::string &endpoint);
void bind();
int send(ZmqHeader &header, const std::byte *data, size_t size, bool serialize_header = false);
size_t send(ZmqHeader &header, const std::byte *data, size_t size, bool serialize_header = false);
};
} // namespace aare

View File

@ -29,12 +29,14 @@ void ZmqSocketReceiver::connect() {
zmq_setsockopt(m_socket, ZMQ_SUBSCRIBE, "", 0);
}
int ZmqSocketReceiver::receive(ZmqHeader &header, std::byte *data, bool serialized_header) {
size_t ZmqSocketReceiver::receive(ZmqHeader &header, std::byte *data, bool serialized_header) {
size_t data_bytes_received{};
if (serialized_header)
throw std::runtime_error("Not implemented");
int header_bytes_received = zmq_recv(m_socket, m_header_buffer, m_max_header_size, 0);
size_t header_bytes_received = zmq_recv(m_socket, m_header_buffer, m_max_header_size, 0);
// receive header
m_header_buffer[header_bytes_received] = '\0'; // make sure we zero terminate
@ -61,12 +63,12 @@ int ZmqSocketReceiver::receive(ZmqHeader &header, std::byte *data, bool serializ
return 0; // no data following header
} else {
int data_bytes_received = zmq_recv(m_socket, data, header.imageSize, 0); // TODO! configurable size!!!!
data_bytes_received = zmq_recv(m_socket, data, header.imageSize, 0); // TODO! configurable size!!!!
if (data_bytes_received == -1)
throw std::runtime_error("Got half of a multipart msg!!!");
aare::logger::debug("Bytes: ", data_bytes_received);
}
return 1;
return data_bytes_received + header_bytes_received;
}
} // namespace aare

View File

@ -9,12 +9,12 @@ ZmqSocketSender::ZmqSocketSender(const std::string &endpoint) { m_endpoint = end
void ZmqSocketSender::bind() {
m_context = zmq_ctx_new();
m_socket = zmq_socket(m_context, ZMQ_PUB);
int rc = zmq_bind(m_socket, m_endpoint.c_str());
size_t rc = zmq_bind(m_socket, m_endpoint.c_str());
assert(rc == 0);
}
int ZmqSocketSender::send(ZmqHeader &header, const std::byte *data, size_t size, bool serialize_header) {
int rc;
size_t ZmqSocketSender::send(ZmqHeader &header, const std::byte *data, size_t size, bool serialize_header) {
size_t rc;
if (serialize_header) {
rc = zmq_send(m_socket, &header, sizeof(ZmqHeader), ZMQ_SNDMORE);
assert(rc == sizeof(ZmqHeader));
@ -24,7 +24,7 @@ int ZmqSocketSender::send(ZmqHeader &header, const std::byte *data, size_t size,
assert(rc == header_str.size());
}
int rc2 = zmq_send(m_socket, data, size, 0);
size_t rc2 = zmq_send(m_socket, data, size, 0);
assert(rc2 == size);
return rc + rc2;
}