From 208f20eddf0f1f3720aab5678df06e1f710f0920 Mon Sep 17 00:00:00 2001 From: Eduardo Ponz Segrelles Date: Tue, 25 Jun 2024 07:36:52 +0200 Subject: [PATCH 1/3] Build profiling tests as alternate build in Ubuntu CI (#4989) * Refs #21219: Always build profilling tests executable if CMake option is set Signed-off-by: eduponz * Refs #21219: Build profiling tests as alternate build in Ubuntu CI Signed-off-by: eduponz * Refs #21219: Fix profilling tests build Signed-off-by: eduponz * Refs #21219: Uncrustify Signed-off-by: eduponz --------- Signed-off-by: eduponz (cherry picked from commit 2d4c6acf8357f3a9316ee05670c618947b5dbbf8) # Conflicts: # test/CMakeLists.txt --- .github/workflows/reusable-ubuntu-ci.yml | 47 +++++-- test/CMakeLists.txt | 4 + test/profiling/CMakeLists.txt | 12 +- test/profiling/MemoryTestTypes.cpp | 92 ++++++++---- test/profiling/MemoryTestTypes.h | 170 ++++++++++++++++------- 5 files changed, 240 insertions(+), 85 deletions(-) diff --git a/.github/workflows/reusable-ubuntu-ci.yml b/.github/workflows/reusable-ubuntu-ci.yml index 72130b5d297..6eb2dcfc73c 100644 --- a/.github/workflows/reusable-ubuntu-ci.yml +++ b/.github/workflows/reusable-ubuntu-ci.yml @@ -683,6 +683,7 @@ jobs: show_skipped: 'False' fastdds_alternative_builds: + needs: fastdds_build runs-on: ${{ inputs.os-image }} strategy: fail-fast: false @@ -690,11 +691,11 @@ jobs: cmake-build-type: - 'RelWithDebInfo' steps: - - name: Sync eProsima/Fast-DDS repository - uses: eProsima/eProsima-CI/external/checkout@v0 + - name: Download build artifacts + uses: eProsima/eProsima-CI/external/download-artifact@v0 with: - path: src/fastrtps - ref: ${{ inputs.fastdds-branch }} + name: fastdds_build_${{ inputs.label }} + path: ${{ github.workspace }} - name: Install Fix Python version uses: eProsima/eProsima-CI/external/setup-python@v0 @@ -719,7 +720,7 @@ jobs: - name: Install Python dependencies uses: eProsima/eProsima-CI/multiplatform/install_python_packages@v0 with: - packages: vcstool xmlschema + packages: vcstool xmlschema msparser upgrade: false - name: Setup CCache @@ -728,12 +729,38 @@ jobs: with: api_token: ${{ secrets.GITHUB_TOKEN }} - - name: Fetch Fast DDS dependencies - uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 + - name: Sync osrf/osrf_testing_tools_cpp repository + uses: eProsima/eProsima-CI/external/checkout@v0 with: - vcs_repos_file: ${{ github.workspace }}/src/fastrtps/fastrtps.repos - destination_workspace: src - skip_existing: 'true' + repository: osrf/osrf_testing_tools_cpp + path: src/osrf_testing_tools_cpp + ref: 1.4.0 + + - name: OSRF testing tools build + uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0 + with: + colcon_meta_file: '' + colcon_build_args: ${{ inputs.colcon-args }} --packages-select osrf_testing_tools_cpp + cmake_args: '-DBUILD_TESTING=OFF' + cmake_args_default: '' + cmake_build_type: ${{ matrix.cmake-build-type }} + workspace: ${{ github.workspace }} + + - name: Profilling tests build + uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0 + with: + colcon_meta_file: ${{ github.workspace }}/src/fastrtps/.github/workflows/config/fastdds_build.meta + colcon_build_args: ${{ inputs.colcon-args }} --packages-up-to fastrtps + cmake_args: '-DPROFILING_TESTS=ON ${{ inputs.cmake-args }}' + cmake_args_default: ${{ env.colcon-build-default-cmake-args }} + cmake_build_type: ${{ matrix.cmake-build-type }} + workspace: ${{ github.workspace }} + workspace_dependencies: ${{ github.workspace }}/install + + - name: Clean workspace - Profiling tests + run: | + cd ${{ github.workspace }} + rm -rf build install log src/osrf_testing_tools_cpp - name: No security colcon build continue-on-error: true diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index db22b0b23c5..438c3e4930d 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -63,10 +63,14 @@ endif() # Profiling tests using valgrind ############################################################################### if(NOT ((MSVC OR MSVC_IDE)) AND PROFILING_TESTS) +<<<<<<< HEAD find_program(CTEST_MEMORYCHECK_COMMAND NAMES valgrind) if(CTEST_MEMORYCHECK_COMMAND) add_subdirectory(profiling) endif() +======= + add_subdirectory(profiling) +>>>>>>> 2d4c6acf8 (Build profiling tests as alternate build in Ubuntu CI (#4989)) endif() ############################################################################### diff --git a/test/profiling/CMakeLists.txt b/test/profiling/CMakeLists.txt index 71a4092718d..09fd63897f9 100644 --- a/test/profiling/CMakeLists.txt +++ b/test/profiling/CMakeLists.txt @@ -54,6 +54,14 @@ if(Python3_Interpreter_FOUND) ############################################################################### # MemoryTest ############################################################################### + find_program(VALGRIND_PROGRAM NAMES valgrind) + + # If valgrind is not found, set it to "valgrind" so that the test can be run with + # the appropriate environment set at runtime. + if (${VALGRIND_PROGRAM} STREQUAL "valgrind-NOTFOUND") + set(VALGRIND_PROGRAM "valgrind") + endif() + add_test(NAME MemoryTest COMMAND ${Python3_EXECUTABLE} memory_tests.py) @@ -67,7 +75,7 @@ if(Python3_Interpreter_FOUND) set_property(TEST MemoryTest APPEND PROPERTY ENVIRONMENT "PROFILING_BINS=$") set_property(TEST MemoryTest APPEND PROPERTY ENVIRONMENT - "VALGRIND_BIN=${CTEST_MEMORYCHECK_COMMAND}") + "VALGRIND_BIN=${VALGRIND_PROGRAM}") if(SECURITY) set_property(TEST MemoryTest APPEND PROPERTY ENVIRONMENT "CERTS_PATH=${PROJECT_SOURCE_DIR}/test/certs") @@ -89,7 +97,7 @@ if(Python3_Interpreter_FOUND) set_property(TEST CyclesTest APPEND PROPERTY ENVIRONMENT "PROFILING_BINS=$") set_property(TEST CyclesTest APPEND PROPERTY ENVIRONMENT - "VALGRIND_BIN=valgrind") + "VALGRIND_BIN=${VALGRIND_PROGRAM}") if(SECURITY) set_property(TEST CyclesTest APPEND PROPERTY ENVIRONMENT "CERTS_PATH=${PROJECT_SOURCE_DIR}/test/certs") diff --git a/test/profiling/MemoryTestTypes.cpp b/test/profiling/MemoryTestTypes.cpp index 8ebda73cb2a..9a7795ea30a 100644 --- a/test/profiling/MemoryTestTypes.cpp +++ b/test/profiling/MemoryTestTypes.cpp @@ -22,40 +22,60 @@ using namespace eprosima::fastrtps; using namespace eprosima::fastrtps::rtps; -bool MemoryDataType::serialize(void*data,SerializedPayload_t* payload) +bool MemoryDataType::serialize( + void* data, + SerializedPayload_t* payload) { MemoryType* lt = (MemoryType*)data; *(uint32_t*)payload->data = lt->seqnum; - *(uint32_t*)(payload->data+4) = (uint32_t)lt->data.size(); + *(uint32_t*)(payload->data + 4) = (uint32_t)lt->data.size(); //std::copy(lt->data.begin(),lt->data.end(),payload->data+8); memcpy(payload->data + 8, lt->data.data(), lt->data.size()); - payload->length = (uint32_t)(8+lt->data.size()); + payload->length = (uint32_t)(8 + lt->data.size()); return true; } -bool MemoryDataType::deserialize(SerializedPayload_t* payload,void * data) +bool MemoryDataType::serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t) +{ + return serialize(data, payload); +} + +bool MemoryDataType::deserialize( + SerializedPayload_t* payload, + void* data) { MemoryType* lt = (MemoryType*)data; lt->seqnum = *(uint32_t*)payload->data; - uint32_t siz = *(uint32_t*)(payload->data+4); - std::copy(payload->data+8,payload->data+8+siz,lt->data.begin()); + uint32_t siz = *(uint32_t*)(payload->data + 4); + std::copy(payload->data + 8, payload->data + 8 + siz, lt->data.begin()); return true; } -std::function MemoryDataType::getSerializedSizeProvider(void* data) +std::function MemoryDataType::getSerializedSizeProvider( + void* data) { return [data]() -> uint32_t - { - MemoryType *tdata = static_cast(data); - uint32_t size = 0; + { + MemoryType* tdata = static_cast(data); + uint32_t size = 0; + + size = (uint32_t)(sizeof(uint32_t) + sizeof(uint32_t) + tdata->data.size()); - size = (uint32_t)(sizeof(uint32_t) + sizeof(uint32_t) + tdata->data.size()); + return size; + }; +} - return size; - }; +std::function MemoryDataType::getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t) +{ + return getSerializedSizeProvider(data); } void* MemoryDataType::createData() @@ -63,21 +83,35 @@ void* MemoryDataType::createData() return (void*)new MemoryType(); } -void MemoryDataType::deleteData(void* data) + +void MemoryDataType::deleteData( + void* data) { delete((MemoryType*)data); } - -bool TestCommandDataType::serialize(void*data,SerializedPayload_t* payload) +bool TestCommandDataType::serialize( + void* data, + SerializedPayload_t* payload) { TestCommandType* t = (TestCommandType*)data; *(TESTCOMMAND*)payload->data = t->m_command; payload->length = 4; return true; } -bool TestCommandDataType::deserialize(SerializedPayload_t* payload,void * data) + +bool TestCommandDataType::serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t) +{ + return serialize(data, payload); +} + +bool TestCommandDataType::deserialize( + SerializedPayload_t* payload, + void* data) { TestCommandType* t = (TestCommandType*)data; // cout << "PAYLOAD LENGTH: "<length << endl; @@ -87,16 +121,24 @@ bool TestCommandDataType::deserialize(SerializedPayload_t* payload,void * data) return true; } -std::function TestCommandDataType::getSerializedSizeProvider(void*) +std::function TestCommandDataType::getSerializedSizeProvider( + void*) { return []() -> uint32_t - { - uint32_t size = 0; + { + uint32_t size = 0; - size = (uint32_t)sizeof(uint32_t); + size = (uint32_t)sizeof(uint32_t); - return size; - }; + return size; + }; +} + +std::function TestCommandDataType::getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t) +{ + return getSerializedSizeProvider(data); } void* TestCommandDataType::createData() @@ -104,7 +146,9 @@ void* TestCommandDataType::createData() return (void*)new TestCommandType(); } -void TestCommandDataType::deleteData(void* data) + +void TestCommandDataType::deleteData( + void* data) { delete((TestCommandType*)data); diff --git a/test/profiling/MemoryTestTypes.h b/test/profiling/MemoryTestTypes.h index 6c4155f34fa..d82ec943574 100644 --- a/test/profiling/MemoryTestTypes.h +++ b/test/profiling/MemoryTestTypes.h @@ -24,56 +24,98 @@ class MemoryType { - public: +public: - uint32_t seqnum; - std::vector data; + uint32_t seqnum; + std::vector data; - MemoryType(): seqnum(0) {} + MemoryType() + : seqnum(0) + { + } - MemoryType(uint32_t number) : - seqnum(0), data(number,0) {} + MemoryType( + uint32_t number) + : seqnum(0) + , data(number, 0) + { + } + + ~MemoryType() + { + } - ~MemoryType() {} }; -inline bool operator==(const MemoryType& lt1, const MemoryType& lt2) +inline bool operator ==( + const MemoryType& lt1, + const MemoryType& lt2) { - if(lt1.seqnum!=lt2.seqnum) + if (lt1.seqnum != lt2.seqnum) + { return false; - if(lt1.data.size()!=lt2.data.size()) + } + if (lt1.data.size() != lt2.data.size()) + { return false; - for(size_t i = 0;i getSerializedSizeProvider(void* data); - void* createData(); - void deleteData(void* data); - bool getKey(void* /*data*/, eprosima::fastrtps::rtps::InstanceHandle_t* /*ihandle*/, bool force_md5 = false) override { - (void)force_md5; - return false; - } +public: + + MemoryDataType() + { + setName("MemoryType"); + m_typeSize = 17000; + m_isGetKeyDefined = false; + } + + ~MemoryDataType() + { + } + + bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override; + bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + std::function getSerializedSizeProvider( + void* data) override; + std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + void* createData() override; + void deleteData( + void* data) override; + bool getKey( + void* /*data*/, + eprosima::fastrtps::rtps::InstanceHandle_t* /*ihandle*/, + bool force_md5 = false) override + { + (void)force_md5; + return false; + } + }; -enum TESTCOMMAND:uint32_t{ +enum TESTCOMMAND : uint32_t +{ DEFAULT, READY, BEGIN, @@ -84,31 +126,61 @@ enum TESTCOMMAND:uint32_t{ typedef struct TestCommandType { TESTCOMMAND m_command; - TestCommandType(){ + TestCommandType() + { m_command = DEFAULT; } - TestCommandType(TESTCOMMAND com):m_command(com){} + + TestCommandType( + TESTCOMMAND com) + : m_command(com) + { + } + }TestCommandType; class TestCommandDataType : public eprosima::fastrtps::TopicDataType { - public: - TestCommandDataType() - { - setName("TestCommandType"); - m_typeSize = 4; - m_isGetKeyDefined = false; - }; - ~TestCommandDataType(){}; - bool serialize(void*data,eprosima::fastrtps::rtps::SerializedPayload_t* payload); - bool deserialize(eprosima::fastrtps::rtps::SerializedPayload_t* payload,void * data); - std::function getSerializedSizeProvider(void* data); - void* createData(); - void deleteData(void* data); - bool getKey(void* /*data*/, eprosima::fastrtps::rtps::InstanceHandle_t* /*ihandle*/, bool force_md5 = false) override { - (void)force_md5; - return false; - } +public: + + TestCommandDataType() + { + setName("TestCommandType"); + m_typeSize = 4; + m_isGetKeyDefined = false; + } + + ~TestCommandDataType() + { + } + + bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override; + bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + std::function getSerializedSizeProvider( + void* data) override; + std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + void* createData() override; + void deleteData( + void* data) override; + bool getKey( + void* /*data*/, + eprosima::fastrtps::rtps::InstanceHandle_t* /*ihandle*/, + bool force_md5 = false) override + { + (void)force_md5; + return false; + } + }; From ea52b148e993e3b42067a608982cb97ae2de8372 Mon Sep 17 00:00:00 2001 From: Miguel Company Date: Wed, 26 Jun 2024 07:27:52 +0200 Subject: [PATCH 2/3] Fix conflicts Signed-off-by: Miguel Company --- test/CMakeLists.txt | 7 ------- 1 file changed, 7 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 438c3e4930d..68de3fc9851 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -63,14 +63,7 @@ endif() # Profiling tests using valgrind ############################################################################### if(NOT ((MSVC OR MSVC_IDE)) AND PROFILING_TESTS) -<<<<<<< HEAD - find_program(CTEST_MEMORYCHECK_COMMAND NAMES valgrind) - if(CTEST_MEMORYCHECK_COMMAND) - add_subdirectory(profiling) - endif() -======= add_subdirectory(profiling) ->>>>>>> 2d4c6acf8 (Build profiling tests as alternate build in Ubuntu CI (#4989)) endif() ############################################################################### From 90bbeb8fa04a8636935037aa9e97426fddc18f72 Mon Sep 17 00:00:00 2001 From: Miguel Company Date: Wed, 26 Jun 2024 09:03:06 +0200 Subject: [PATCH 3/3] Revert changes on type support. Signed-off-by: Miguel Company --- test/profiling/MemoryTestTypes.cpp | 92 ++++------------ test/profiling/MemoryTestTypes.h | 170 +++++++++-------------------- 2 files changed, 73 insertions(+), 189 deletions(-) diff --git a/test/profiling/MemoryTestTypes.cpp b/test/profiling/MemoryTestTypes.cpp index 9a7795ea30a..8ebda73cb2a 100644 --- a/test/profiling/MemoryTestTypes.cpp +++ b/test/profiling/MemoryTestTypes.cpp @@ -22,60 +22,40 @@ using namespace eprosima::fastrtps; using namespace eprosima::fastrtps::rtps; -bool MemoryDataType::serialize( - void* data, - SerializedPayload_t* payload) +bool MemoryDataType::serialize(void*data,SerializedPayload_t* payload) { MemoryType* lt = (MemoryType*)data; *(uint32_t*)payload->data = lt->seqnum; - *(uint32_t*)(payload->data + 4) = (uint32_t)lt->data.size(); + *(uint32_t*)(payload->data+4) = (uint32_t)lt->data.size(); //std::copy(lt->data.begin(),lt->data.end(),payload->data+8); memcpy(payload->data + 8, lt->data.data(), lt->data.size()); - payload->length = (uint32_t)(8 + lt->data.size()); + payload->length = (uint32_t)(8+lt->data.size()); return true; } -bool MemoryDataType::serialize( - void* data, - eprosima::fastrtps::rtps::SerializedPayload_t* payload, - eprosima::fastdds::dds::DataRepresentationId_t) -{ - return serialize(data, payload); -} - -bool MemoryDataType::deserialize( - SerializedPayload_t* payload, - void* data) +bool MemoryDataType::deserialize(SerializedPayload_t* payload,void * data) { MemoryType* lt = (MemoryType*)data; lt->seqnum = *(uint32_t*)payload->data; - uint32_t siz = *(uint32_t*)(payload->data + 4); - std::copy(payload->data + 8, payload->data + 8 + siz, lt->data.begin()); + uint32_t siz = *(uint32_t*)(payload->data+4); + std::copy(payload->data+8,payload->data+8+siz,lt->data.begin()); return true; } -std::function MemoryDataType::getSerializedSizeProvider( - void* data) +std::function MemoryDataType::getSerializedSizeProvider(void* data) { return [data]() -> uint32_t - { - MemoryType* tdata = static_cast(data); - uint32_t size = 0; - - size = (uint32_t)(sizeof(uint32_t) + sizeof(uint32_t) + tdata->data.size()); + { + MemoryType *tdata = static_cast(data); + uint32_t size = 0; - return size; - }; -} + size = (uint32_t)(sizeof(uint32_t) + sizeof(uint32_t) + tdata->data.size()); -std::function MemoryDataType::getSerializedSizeProvider( - void* data, - eprosima::fastdds::dds::DataRepresentationId_t) -{ - return getSerializedSizeProvider(data); + return size; + }; } void* MemoryDataType::createData() @@ -83,35 +63,21 @@ void* MemoryDataType::createData() return (void*)new MemoryType(); } - -void MemoryDataType::deleteData( - void* data) +void MemoryDataType::deleteData(void* data) { delete((MemoryType*)data); } -bool TestCommandDataType::serialize( - void* data, - SerializedPayload_t* payload) + +bool TestCommandDataType::serialize(void*data,SerializedPayload_t* payload) { TestCommandType* t = (TestCommandType*)data; *(TESTCOMMAND*)payload->data = t->m_command; payload->length = 4; return true; } - -bool TestCommandDataType::serialize( - void* data, - eprosima::fastrtps::rtps::SerializedPayload_t* payload, - eprosima::fastdds::dds::DataRepresentationId_t) -{ - return serialize(data, payload); -} - -bool TestCommandDataType::deserialize( - SerializedPayload_t* payload, - void* data) +bool TestCommandDataType::deserialize(SerializedPayload_t* payload,void * data) { TestCommandType* t = (TestCommandType*)data; // cout << "PAYLOAD LENGTH: "<length << endl; @@ -121,24 +87,16 @@ bool TestCommandDataType::deserialize( return true; } -std::function TestCommandDataType::getSerializedSizeProvider( - void*) +std::function TestCommandDataType::getSerializedSizeProvider(void*) { return []() -> uint32_t - { - uint32_t size = 0; + { + uint32_t size = 0; - size = (uint32_t)sizeof(uint32_t); + size = (uint32_t)sizeof(uint32_t); - return size; - }; -} - -std::function TestCommandDataType::getSerializedSizeProvider( - void* data, - eprosima::fastdds::dds::DataRepresentationId_t) -{ - return getSerializedSizeProvider(data); + return size; + }; } void* TestCommandDataType::createData() @@ -146,9 +104,7 @@ void* TestCommandDataType::createData() return (void*)new TestCommandType(); } - -void TestCommandDataType::deleteData( - void* data) +void TestCommandDataType::deleteData(void* data) { delete((TestCommandType*)data); diff --git a/test/profiling/MemoryTestTypes.h b/test/profiling/MemoryTestTypes.h index d82ec943574..6c4155f34fa 100644 --- a/test/profiling/MemoryTestTypes.h +++ b/test/profiling/MemoryTestTypes.h @@ -24,98 +24,56 @@ class MemoryType { -public: + public: - uint32_t seqnum; - std::vector data; + uint32_t seqnum; + std::vector data; - MemoryType() - : seqnum(0) - { - } + MemoryType(): seqnum(0) {} - MemoryType( - uint32_t number) - : seqnum(0) - , data(number, 0) - { - } - - ~MemoryType() - { - } + MemoryType(uint32_t number) : + seqnum(0), data(number,0) {} + ~MemoryType() {} }; -inline bool operator ==( - const MemoryType& lt1, - const MemoryType& lt2) +inline bool operator==(const MemoryType& lt1, const MemoryType& lt2) { - if (lt1.seqnum != lt2.seqnum) - { + if(lt1.seqnum!=lt2.seqnum) return false; - } - if (lt1.data.size() != lt2.data.size()) - { + if(lt1.data.size()!=lt2.data.size()) return false; - } - for (size_t i = 0; i < lt1.data.size(); ++i) + for(size_t i = 0;i getSerializedSizeProvider( - void* data) override; - std::function getSerializedSizeProvider( - void* data, - eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; - void* createData() override; - void deleteData( - void* data) override; - bool getKey( - void* /*data*/, - eprosima::fastrtps::rtps::InstanceHandle_t* /*ihandle*/, - bool force_md5 = false) override - { - (void)force_md5; - return false; - } - + public: + MemoryDataType() + { + setName("MemoryType"); + m_typeSize = 17000; + m_isGetKeyDefined = false; + }; + ~MemoryDataType(){}; + bool serialize(void*data, eprosima::fastrtps::rtps::SerializedPayload_t* payload); + bool deserialize(eprosima::fastrtps::rtps::SerializedPayload_t* payload,void * data); + std::function getSerializedSizeProvider(void* data); + void* createData(); + void deleteData(void* data); + bool getKey(void* /*data*/, eprosima::fastrtps::rtps::InstanceHandle_t* /*ihandle*/, bool force_md5 = false) override { + (void)force_md5; + return false; + } }; -enum TESTCOMMAND : uint32_t -{ +enum TESTCOMMAND:uint32_t{ DEFAULT, READY, BEGIN, @@ -126,61 +84,31 @@ enum TESTCOMMAND : uint32_t typedef struct TestCommandType { TESTCOMMAND m_command; - TestCommandType() - { + TestCommandType(){ m_command = DEFAULT; } - - TestCommandType( - TESTCOMMAND com) - : m_command(com) - { - } - + TestCommandType(TESTCOMMAND com):m_command(com){} }TestCommandType; class TestCommandDataType : public eprosima::fastrtps::TopicDataType { -public: - - TestCommandDataType() - { - setName("TestCommandType"); - m_typeSize = 4; - m_isGetKeyDefined = false; - } - - ~TestCommandDataType() - { - } - - bool serialize( - void* data, - eprosima::fastrtps::rtps::SerializedPayload_t* payload) override; - bool serialize( - void* data, - eprosima::fastrtps::rtps::SerializedPayload_t* payload, - eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; - bool deserialize( - eprosima::fastrtps::rtps::SerializedPayload_t* payload, - void* data) override; - std::function getSerializedSizeProvider( - void* data) override; - std::function getSerializedSizeProvider( - void* data, - eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; - void* createData() override; - void deleteData( - void* data) override; - bool getKey( - void* /*data*/, - eprosima::fastrtps::rtps::InstanceHandle_t* /*ihandle*/, - bool force_md5 = false) override - { - (void)force_md5; - return false; - } - + public: + TestCommandDataType() + { + setName("TestCommandType"); + m_typeSize = 4; + m_isGetKeyDefined = false; + }; + ~TestCommandDataType(){}; + bool serialize(void*data,eprosima::fastrtps::rtps::SerializedPayload_t* payload); + bool deserialize(eprosima::fastrtps::rtps::SerializedPayload_t* payload,void * data); + std::function getSerializedSizeProvider(void* data); + void* createData(); + void deleteData(void* data); + bool getKey(void* /*data*/, eprosima::fastrtps::rtps::InstanceHandle_t* /*ihandle*/, bool force_md5 = false) override { + (void)force_md5; + return false; + } };