Skip to content
Open
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
3 changes: 2 additions & 1 deletion modules/CppBenchmark.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
if(NOT TARGET cppbenchmark)
if(NOT TARGET cppbenchmark AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CppBenchmark/CMakeLists.txt")

# Module flag
set(CPPBENCHMARK_MODULE Y)
Expand All @@ -10,3 +10,4 @@ if(NOT TARGET cppbenchmark)
set_target_properties(cppbenchmark PROPERTIES FOLDER "modules/CppBenchmark")

endif()

17 changes: 10 additions & 7 deletions proto/fbe_protocol.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,14 @@ size_t Sender::send_serialized(size_t serialized)
return sent;
}

void Receiver::receive(const void* data, size_t size)
bool Receiver::receive(const void* data, size_t size)
{
if (size == 0)
return;
return false;

assert((data != nullptr) && "Invalid buffer!");
if (data == nullptr)
return;
return false;

// Storage buffer
uint8_t* buffer1 = _buffer->data();
Expand Down Expand Up @@ -118,13 +118,13 @@ void Receiver::receive(const void* data, size_t size)
}

if (!message_size_found)
return;
return false;

// Check the message full size
size_t min_size = _final ? (4 + 4) : (4 + 4 + 4 + 4);
assert((message_size >= min_size) && "Invalid receive data!");
if (message_size < min_size)
return;
return false;

// Try to receive message body
bool message_found = false;
Expand Down Expand Up @@ -237,7 +237,7 @@ void Receiver::receive(const void* data, size_t size)

message_size_copied = true;
}
return;
return false;
}

[[maybe_unused]] uint32_t fbe_struct_size;
Expand All @@ -257,7 +257,8 @@ void Receiver::receive(const void* data, size_t size)
}

// Handle the message
onReceive(fbe_struct_type, message_buffer, message_size);
if (!onReceive(fbe_struct_type, message_buffer, message_size))
return false;

// Reset the storage buffer
_buffer->reset();
Expand All @@ -268,6 +269,8 @@ void Receiver::receive(const void* data, size_t size)
offset1 = _buffer->size();
size1 = _buffer->size();
}

return true;
}

} // namespace FBE
2 changes: 1 addition & 1 deletion proto/fbe_protocol.h
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ class Receiver
void reset() noexcept { _buffer->reset(); }

// Receive data
void receive(const void* data, size_t size);
bool receive(const void* data, size_t size);

protected:
// Receive message handler
Expand Down
19 changes: 11 additions & 8 deletions source/generator_cpp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5035,7 +5035,7 @@ class Receiver
void reset() noexcept { _buffer->reset(); }

// Receive data
void receive(const void* data, size_t size);
bool receive(const void* data, size_t size);

protected:
// Receive message handler
Expand Down Expand Up @@ -5065,14 +5065,14 @@ class Receiver
void GeneratorCpp::GenerateFBEReceiver_Source()
{
std::string code = R"CODE(
void Receiver::receive(const void* data, size_t size)
bool Receiver::receive(const void* data, size_t size)
{
if (size == 0)
return;
return false;

assert((data != nullptr) && "Invalid buffer!");
if (data == nullptr)
return;
return false;

// Storage buffer
uint8_t* buffer1 = _buffer->data();
Expand Down Expand Up @@ -5159,13 +5159,13 @@ void Receiver::receive(const void* data, size_t size)
}

if (!message_size_found)
return;
return false;

// Check the message full size
size_t min_size = _final ? (4 + 4) : (4 + 4 + 4 + 4);
assert((message_size >= min_size) && "Invalid receive data!");
if (message_size < min_size)
return;
return false;

// Try to receive message body
bool message_found = false;
Expand Down Expand Up @@ -5278,7 +5278,7 @@ void Receiver::receive(const void* data, size_t size)

message_size_copied = true;
}
return;
return false;
}

[[maybe_unused]] uint32_t fbe_struct_size;
Expand All @@ -5298,7 +5298,8 @@ void Receiver::receive(const void* data, size_t size)
}

// Handle the message
onReceive(fbe_struct_type, message_buffer, message_size);
if (!onReceive(fbe_struct_type, message_buffer, message_size))
return false;

// Reset the storage buffer
_buffer->reset();
Expand All @@ -5309,6 +5310,8 @@ void Receiver::receive(const void* data, size_t size)
offset1 = _buffer->size();
size1 = _buffer->size();
}

return true;
}
)CODE";

Expand Down