29 lines
666 B
C++
29 lines
666 B
C++
// Copyright (2019-2024) Paul Scherrer Institute
|
|
|
|
#ifndef JUNGFRAUJOCH_SENDBUFFER_H
|
|
#define JUNGFRAUJOCH_SENDBUFFER_H
|
|
|
|
#include <cstddef>
|
|
#include <cstdint>
|
|
|
|
class SendBuffer {
|
|
const size_t buffer_size;
|
|
|
|
size_t location_size = 0;
|
|
size_t location_number = 0;
|
|
uint8_t *buffer;
|
|
|
|
public:
|
|
explicit SendBuffer(size_t buffer_size);
|
|
~SendBuffer();
|
|
|
|
void SetBufferLocationSize(size_t location_size);
|
|
|
|
size_t GetBufferLocationSize() const;
|
|
size_t GetNumOfLocations() const;
|
|
size_t GetBufferLocationID(const uint8_t *ptr) const;
|
|
uint8_t *GetBufferLocation(size_t id); // image metadata + image
|
|
};
|
|
|
|
#endif //JUNGFRAUJOCH_SENDBUFFER_H
|