-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added perftool for performance-testing different sender / reiver impl…
…ementations (#11)
- Loading branch information
1 parent
243474e
commit c3cfc50
Showing
35 changed files
with
2,058 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
--- | ||
# This disables the warning of non-private members. We use those for inheritance here (with protected visibility). | ||
|
||
Checks: "-cppcoreguidelines-non-private-member-variables-in-classes, | ||
" | ||
|
||
InheritParentConfig: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
################################################################################ | ||
# Copyright (c) 2024 Continental Corporation | ||
# | ||
# This program and the accompanying materials are made available under the | ||
# terms of the Apache License, Version 2.0 which is available at | ||
# https://www.apache.org/licenses/LICENSE-2.0. | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | ||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | ||
# License for the specific language governing permissions and limitations | ||
# under the License. | ||
# | ||
# SPDX-License-Identifier: Apache-2.0 | ||
################################################################################ | ||
|
||
cmake_minimum_required(VERSION 3.13) | ||
|
||
project(ecaludp_perftool) | ||
|
||
find_package(Threads REQUIRED) | ||
find_package(ecaludp REQUIRED) | ||
|
||
set(sources | ||
src/main.cpp | ||
src/receiver.cpp | ||
src/receiver.h | ||
src/receiver_async.cpp | ||
src/receiver_async.h | ||
src/receiver_parameters.h | ||
src/receiver_sync.cpp | ||
src/receiver_sync.h | ||
src/sender.cpp | ||
src/sender.h | ||
src/sender_async.cpp | ||
src/sender_async.h | ||
src/sender_parameters.h | ||
src/sender_sync.cpp | ||
src/sender_sync.h | ||
src/socket_builder_asio.cpp | ||
src/socket_builder_asio.h | ||
) | ||
if (${ECALUDP_ENABLE_NPCAP}) | ||
list (APPEND sources | ||
src/receiver_npcap_async.cpp | ||
src/receiver_npcap_async.h | ||
src/receiver_npcap_sync.cpp | ||
src/receiver_npcap_sync.h | ||
src/socket_builder_npcap.cpp | ||
src/socket_builder_npcap.h | ||
) | ||
endif() | ||
|
||
add_executable(${PROJECT_NAME} ${sources}) | ||
|
||
target_link_libraries(${PROJECT_NAME} | ||
PRIVATE | ||
ecaludp::ecaludp | ||
Threads::Threads) | ||
|
||
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) | ||
|
||
source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" FILES | ||
${sources} | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
# ecaludp-perftool | ||
|
||
ecaludp_perftool is a simple tool for sending and receiving data using the eCAL protocol. | ||
|
||
``` | ||
Usage: | ||
ecaludp_perftool <IMPLEMENTATION> [PARAMETERS] | ||
With IMPLEMENTATION one of: | ||
send Asio-based sender using send_to in a while-loop | ||
sendasync Asio-based sender using async_send_to | ||
receive Asio-based receiver using receive_from in a while-loop | ||
receiveasync Asio-based receiver using async_receive_from | ||
receivenpcap Npcap-based receiver using receive_from in a while-loop | ||
receivenpcapasync Npcap-based receiver using async_receive_from | ||
Options: | ||
-h, --help Show this help message and exit | ||
-i, --ip <IP> IP address to send to / receive from. Default to 127.0.0.1 | ||
-p, --port <PORT> Port to send to / receive from. Default to 14000 | ||
-s, --size <SIZE> Message size to send. Default to 0 (-> empty messages) | ||
-m, --max-udp-datagram-size <SIZE> Maximum UDP datagram size | ||
-b, --buffer-size <SIZE> Buffer size for sending & receiving messages | ||
``` |
Oops, something went wrong.