Skip to content

Commit 739e667

Browse files
mkrzewicMohammadAlTurany
authored andcommitted
Make buffer access const, received buffers should be unmutable by default
1 parent 8419a05 commit 739e667

4 files changed

Lines changed: 15 additions & 16 deletions

File tree

DataFormats/Headers/include/Headers/DataHeader.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -242,9 +242,9 @@ struct BaseHeader
242242
/// @brief access header in buffer
243243
///
244244
/// this is to guess if the buffer starting at b looks like a header
245-
inline static const BaseHeader* get(byte* b, size_t /*len*/=0) {
246-
return (*(reinterpret_cast<uint32_t*>(b))==sMagicString) ?
247-
reinterpret_cast<BaseHeader*>(b) :
245+
inline static const BaseHeader* get(const byte* b, size_t /*len*/=0) {
246+
return (*(reinterpret_cast<const uint32_t*>(b))==sMagicString) ?
247+
reinterpret_cast<const BaseHeader*>(b) :
248248
nullptr;
249249
}
250250

@@ -264,7 +264,7 @@ struct BaseHeader
264264
/// use like this:
265265
/// HeaderType* h = get<HeaderType>(buffer)
266266
template<typename HeaderType>
267-
const HeaderType* get(byte* buffer, size_t /*len*/=0) {
267+
const HeaderType* get(const byte* buffer, size_t /*len*/=0) {
268268
const BaseHeader* current = BaseHeader::get(buffer);
269269
if (!current) return nullptr;
270270
if (current->description==HeaderType::sHeaderType)
@@ -304,8 +304,8 @@ struct Block {
304304
size_t bufferSize;
305305
Buffer buffer;
306306

307-
byte* data() {return buffer.get();}
308-
size_t size() {return bufferSize;}
307+
byte* data() const {return buffer.get();}
308+
size_t size() const {return bufferSize;}
309309

310310
///The magic constructor: takes arbitrary number of arguments and serialized them
311311
/// into the buffer.

Utilities/O2device/include/O2device/O2device.h

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,11 @@ class O2device : public FairMQDevice
6262
/// currently this is old school: buf,len pairs;
6363
/// In the end I'd like to move to array_view
6464
/// when this becomes available (either with C++17 or via GSL)
65-
template<typename T>
66-
bool ForEach(O2message& parts,
67-
bool (T::* memberFunction)(byte* headerBuffer, size_t headerBufferSize,
68-
byte* dataBuffer, size_t dataBufferSize)) {
69-
70-
if ((parts.Size()%2) != 0)
65+
template <typename T>
66+
bool ForEach(O2message& parts, bool (T::*memberFunction)(const byte* headerBuffer, size_t headerBufferSize,
67+
const byte* dataBuffer, size_t dataBufferSize))
68+
{
69+
if ((parts.Size() % 2) != 0)
7170
throw std::invalid_argument("number of parts in message not even (n%2 != 0)");
7271

7372
for (auto it = parts.fParts.begin(); it != parts.fParts.end(); ++it) {

Utilities/fairMQmonitor/include/fairMQmonitor/FairMQmonitor.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ class FairMQmonitor : public AliceO2::Base::O2device
3838
virtual void Run();
3939
void InitTask();
4040
bool HandleData(AliceO2::Base::O2message& parts, int index);
41-
bool HandleO2frame(byte* headerBuffer, size_t headerBufferSize,
42-
byte* dataBuffer, size_t dataBufferSize);
41+
bool HandleO2frame(const byte* headerBuffer, size_t headerBufferSize,
42+
const byte* dataBuffer, size_t dataBufferSize);
4343

4444
private:
4545
AliceO2::Header::DataHeader mDataHeader;

Utilities/fairMQmonitor/src/FairMQmonitor.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ void FairMQmonitor::Run()
9292
}
9393

9494
//__________________________________________________________________________________________________
95-
bool FairMQmonitor::HandleO2frame(byte* headerBuffer, size_t headerBufferSize,
96-
byte* dataBuffer, size_t dataBufferSize)
95+
bool FairMQmonitor::HandleO2frame(const byte* headerBuffer, size_t headerBufferSize,
96+
const byte* dataBuffer, size_t dataBufferSize)
9797
{
9898

9999
hexDump("headerBuffer", headerBuffer, headerBufferSize);

0 commit comments

Comments
 (0)