Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions DataFormats/Headers/include/Headers/DataHeader.h
Original file line number Diff line number Diff line change
Expand Up @@ -242,9 +242,9 @@ struct BaseHeader
/// @brief access header in buffer
///
/// this is to guess if the buffer starting at b looks like a header
inline static const BaseHeader* get(byte* b, size_t /*len*/=0) {
return (*(reinterpret_cast<uint32_t*>(b))==sMagicString) ?
reinterpret_cast<BaseHeader*>(b) :
inline static const BaseHeader* get(const byte* b, size_t /*len*/=0) {
return (*(reinterpret_cast<const uint32_t*>(b))==sMagicString) ?
reinterpret_cast<const BaseHeader*>(b) :
nullptr;
}

Expand All @@ -264,7 +264,7 @@ struct BaseHeader
/// use like this:
/// HeaderType* h = get<HeaderType>(buffer)
template<typename HeaderType>
const HeaderType* get(byte* buffer, size_t /*len*/=0) {
const HeaderType* get(const byte* buffer, size_t /*len*/=0) {
const BaseHeader* current = BaseHeader::get(buffer);
if (!current) return nullptr;
if (current->description==HeaderType::sHeaderType)
Expand Down Expand Up @@ -304,8 +304,8 @@ struct Block {
size_t bufferSize;
Buffer buffer;

byte* data() {return buffer.get();}
size_t size() {return bufferSize;}
byte* data() const {return buffer.get();}
size_t size() const {return bufferSize;}

///The magic constructor: takes arbitrary number of arguments and serialized them
/// into the buffer.
Expand Down
11 changes: 5 additions & 6 deletions Utilities/O2device/include/O2device/O2device.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,12 +62,11 @@ class O2device : public FairMQDevice
/// currently this is old school: buf,len pairs;
/// In the end I'd like to move to array_view
/// when this becomes available (either with C++17 or via GSL)
template<typename T>
bool ForEach(O2message& parts,
bool (T::* memberFunction)(byte* headerBuffer, size_t headerBufferSize,
byte* dataBuffer, size_t dataBufferSize)) {

if ((parts.Size()%2) != 0)
template <typename T>
bool ForEach(O2message& parts, bool (T::*memberFunction)(const byte* headerBuffer, size_t headerBufferSize,
const byte* dataBuffer, size_t dataBufferSize))
{
if ((parts.Size() % 2) != 0)
throw std::invalid_argument("number of parts in message not even (n%2 != 0)");

for (auto it = parts.fParts.begin(); it != parts.fParts.end(); ++it) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ class FairMQmonitor : public AliceO2::Base::O2device
virtual void Run();
void InitTask();
bool HandleData(AliceO2::Base::O2message& parts, int index);
bool HandleO2frame(byte* headerBuffer, size_t headerBufferSize,
byte* dataBuffer, size_t dataBufferSize);
bool HandleO2frame(const byte* headerBuffer, size_t headerBufferSize,
const byte* dataBuffer, size_t dataBufferSize);

private:
AliceO2::Header::DataHeader mDataHeader;
Expand Down
4 changes: 2 additions & 2 deletions Utilities/fairMQmonitor/src/FairMQmonitor.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -92,8 +92,8 @@ void FairMQmonitor::Run()
}

//__________________________________________________________________________________________________
bool FairMQmonitor::HandleO2frame(byte* headerBuffer, size_t headerBufferSize,
byte* dataBuffer, size_t dataBufferSize)
bool FairMQmonitor::HandleO2frame(const byte* headerBuffer, size_t headerBufferSize,
const byte* dataBuffer, size_t dataBufferSize)
{

hexDump("headerBuffer", headerBuffer, headerBufferSize);
Expand Down