diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c27af212dd..2cafe8578f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -58,7 +58,7 @@ Please make sure you have: 7. You open your pull request towards the base branch `master` 8. Link the pull request to the according GitHub issue and set the label accordingly -**NOTE:** For support while developing you can use little helper scripts, see [git-hooks](https://github.com/eclipse-iceoryx/iceoryx/blob/master/tools/git-hooks/Readme.md). +**NOTE:** For support while developing you can use little helper scripts, see [git-hooks](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/tools/git-hooks/Readme.md). ## Branching strategy @@ -115,7 +115,7 @@ codebase follows these rules, things are work in progress. shall not be propagated via an `iox::cxx::expected` 9) **Not more than two-level nested namespaces**, three-level nested namespace can be used sparsely -See [error-handling.md](https://github.com/eclipse-iceoryx/iceoryx/blob/master/doc/design/error-handling.md) for additional +See [error-handling.md](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/doc/design/error-handling.md) for additional information about logging and error handling. ### Naming conventions diff --git a/NOTICE.md b/NOTICE.md index 610501c767..50e4503afd 100644 --- a/NOTICE.md +++ b/NOTICE.md @@ -31,7 +31,7 @@ The project maintains the following source code repositories: ## Third-party Dependencies This project leverages the following third party content. -The corresponding license files can be found at or in the folder `share/doc/iceoryx/3rd_party_licenses` of your local iceoryx installation. +The corresponding license files can be found at or in the folder `share/doc/iceoryx/3rd_party_licenses` of your local iceoryx installation. ### System Libraries diff --git a/QUALITY_DECLARATION.md b/QUALITY_DECLARATION.md index 141726d85f..1f220c1307 100644 --- a/QUALITY_DECLARATION.md +++ b/QUALITY_DECLARATION.md @@ -6,7 +6,7 @@ The packages `iceoryx_hoofs`, `iceoryx_posh` and `iceoryx_binding_c` claim to be Below are the rationales, notes, and caveats for this claim, organized by each requirement listed in the [Package Requirements for Quality Level 2 in REP-2004](https://www.ros.org/reps/rep-2004.html). -See the [Readme](https://github.com/eclipse-iceoryx/iceoryx#quality-levels--platforms) for a full list of the quality levels of iceoryx components and [Contributing Guide](https://github.com/eclipse-iceoryx/iceoryx/blob/master/CONTRIBUTING.md#quality-levels) for a description of the quality levels. +See the [Readme](https://github.com/eclipse-iceoryx/iceoryx#quality-levels--platforms) for a full list of the quality levels of iceoryx components and [Contributing Guide](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/CONTRIBUTING.md#quality-levels) for a description of the quality levels. ## Version Policy [1] @@ -17,13 +17,13 @@ Changes for MINOR releases are API compatible and ideally ABI stable if not clea A similar format is prescribed by the Eclipse Foundation in the [Release Handbook](https://www.eclipse.org/projects/handbook/#release). -On Git, the tags have a `v` prefix before the version numbers. A [release script](https://github.com/eclipse-iceoryx/iceoryx/blob/master/tools/scripts/iceoryx_release.sh) shall ensure that version numbers are kept consistent for all packages. +On Git, the tags have a `v` prefix before the version numbers. A [release script](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/tools/scripts/iceoryx_release.sh) shall ensure that version numbers are kept consistent for all packages. ### Version Stability [1.ii] Since release `1.0.0` iceoryx is at a stable version, i.e. `>= 1.0.0`. The latest valid release can be found on the [release page](https://github.com/eclipse-iceoryx/iceoryx/releases) of iceoryx. -The change history can be found in the [release notes section](https://iceoryx.io/latest/release-notes). +The change history can be found in the [release notes section](https://iceoryx.io/v2.0.0/release-notes). ### Public API Declaration [1.iii] @@ -55,8 +55,8 @@ It is planned to build and test the changes on the ROS CI for early detection of ### Change Requests [2.i] -All changes in the codebase require a Pull-Request. It is mandatory to link the Pull-Request to a corresponding [issue ticket](https://github.com/eclipse-iceoryx/iceoryx/blob/master/CONTRIBUTING.md#feature-request-and-bugs) on GitHub to ensure traceability. -The contributor and reviewer are required to fill out a [Pull-Request Template](https://github.com/eclipse-iceoryx/iceoryx/blob/master/.github/PULL_REQUEST_TEMPLATE.md) before merging. +All changes in the codebase require a Pull-Request. It is mandatory to link the Pull-Request to a corresponding [issue ticket](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/CONTRIBUTING.md#feature-request-and-bugs) on GitHub to ensure traceability. +The contributor and reviewer are required to fill out a [Pull-Request Template](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/.github/PULL_REQUEST_TEMPLATE.md) before merging. ### Contributor Origin [2.ii] @@ -89,13 +89,13 @@ It is required to create/modify the Doxygen/design and user documentation within ### Feature Documentation [3.i] -The documentation of the main iceoryx features (sending, receiving data) can be found in the [overview](https://iceoryx.io/latest/getting-started/overview/) and [iceoryx examples](https://iceoryx.io/latest/getting-started/examples/) including a user-friendly description on how to use the iceoryx API. -The [configuration guide](https://iceoryx.io/latest/advanced/configuration-guide/) completes the documentation on how to use iceoryx. +The documentation of the main iceoryx features (sending, receiving data) can be found in the [overview](https://iceoryx.io/v2.0.0/getting-started/overview/) and [iceoryx examples](https://iceoryx.io/v2.0.0/getting-started/examples/) including a user-friendly description on how to use the iceoryx API. +The [configuration guide](https://iceoryx.io/v2.0.0/advanced/configuration-guide/) completes the documentation on how to use iceoryx. -Detailed technical documentation about iceoryx features can be found in the [design document](https://github.com/eclipse-iceoryx/iceoryx/tree/master/doc/design) section with descriptions and diagrams about internal mechanisms of iceoryx. +Detailed technical documentation about iceoryx features can be found in the [design document](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/doc/design) section with descriptions and diagrams about internal mechanisms of iceoryx. -For new features, it is recommended to first create a design document, see the [Contribution Guidelines](https://github.com/eclipse-iceoryx/iceoryx/blob/master/CONTRIBUTING.md#feature-request-and-bugs) for more information. -Diagrams in feature descriptions need to be consistently generated with [PlantUML](https://github.com/eclipse-iceoryx/iceoryx/tree/master/doc/design#design-documents). +For new features, it is recommended to first create a design document, see the [Contribution Guidelines](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/CONTRIBUTING.md#feature-request-and-bugs) for more information. +Diagrams in feature descriptions need to be consistently generated with [PlantUML](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/doc/design#design-documents). Currently there is ongoing work to complete the documentation of existing features to reach quality level 1. @@ -106,32 +106,32 @@ The public API is documented in form of Doxygen comments and available as API re ### License [3.iii] The license for Eclipse iceoryx is the Apache License 2.0, and each code file includes a license statement. -The full license text is available in the [`LICENSE`](https://github.com/eclipse-iceoryx/iceoryx/blob/master/LICENSE) file. -The project includes a [`NOTICE`](https://github.com/eclipse-iceoryx/iceoryx/blob/master/NOTICE.md) with links to more information about these licenses. +The full license text is available in the [`LICENSE`](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/LICENSE) file. +The project includes a [`NOTICE`](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/NOTICE.md) with links to more information about these licenses. There is some third-party content included with Eclipse iceoryx which is licensed as MIT or New BSD. -Details can also be found in the included [`NOTICE`](https://github.com/eclipse-iceoryx/iceoryx/blob/master/NOTICE.md#third-party-dependencies) document. +Details can also be found in the included [`NOTICE`](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/NOTICE.md#third-party-dependencies) document. ### Copyright Statement [3.iv] -Each source code file in Eclipse iceoryx has a copyright header that needs to follow this [style](https://github.com/eclipse-iceoryx/iceoryx/blob/master/CONTRIBUTING.md#header). +Each source code file in Eclipse iceoryx has a copyright header that needs to follow this [style](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/CONTRIBUTING.md#header). A CI job ensures by checking with `ament_copyright` that all files comply with this rule. ## Testing [4] -Every iceoryx package has a `test` folder that contains subfolders for [module- and/or integrationtests](https://github.com/eclipse-iceoryx/iceoryx/blob/master/CONTRIBUTING.md#testing) written based on the Google test framework. All tests are running on the CI for every Pull-Request for all supported platforms and are contained in the master branch. +Every iceoryx package has a `test` folder that contains subfolders for [module- and/or integrationtests](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/CONTRIBUTING.md#testing) written based on the Google test framework. All tests are running on the CI for every Pull-Request for all supported platforms and are contained in the master branch. Currently, due to limited support on Windows, there are some exclusions for testing on the CI. ### Feature Testing [4.i] -The features of iceoryx are tested in the [iceoryx_integrationtest](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_integrationtest) package. Using `launch_test`, tests are executed on system-level to ensure that the iceoryx packages are functional and the Public API works according to specification. +The features of iceoryx are tested in the [iceoryx_integrationtest](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_integrationtest) package. Using `launch_test`, tests are executed on system-level to ensure that the iceoryx packages are functional and the Public API works according to specification. There is continuous effort to cover the corner cases in the usage of iceoryx in test-cases. ### Public API Testing [4.ii] All tests are executed for every major feature. New features must provide unit and integration tests that cover the code changes in the Pull-Request. The tests reside in separated folders for every package following a defined structure and naming convention. -The features are tested at module(unit) -integration and system test level. The [guidelines](https://iceoryx.io/latest/advanced/best-practice-for-testing/) for Contributors ensure a high quality of test development. +The features are tested at module(unit) -integration and system test level. The [guidelines](https://iceoryx.io/v2.0.0/advanced/best-practice-for-testing/) for Contributors ensure a high quality of test development. ### Coverage [4.iii] @@ -142,14 +142,14 @@ The Eclipse iceoryx project use [gcov](https://gcc.gnu.org/onlinedocs/gcc/Gcov.h - Branch Coverage The coverage results of every Pull-Request and master branch are publicly available on [codecov.io](https://app.codecov.io/gh/eclipse-iceoryx/iceoryx). -A detailed report (e.g. the coverage in different packages) can be obtained by following [this](https://github.com/eclipse-iceoryx/iceoryx/blob/master/CONTRIBUTING.md#coverage-scan) guide. +A detailed report (e.g. the coverage in different packages) can be obtained by following [this](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/CONTRIBUTING.md#coverage-scan) guide. ### Performance [4.iv] The most important measurement units for performance testing on iceoryx are the data transfer latency and the CPU load incurred by passing data. They can be obtained in two ways: -1. [iceperf](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/iceperf#iceperf) +1. [iceperf](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/iceperf#iceperf) This performance test uses the iceoryx API directly without any indirections to compare different IPC mechanisms on increasing payload sizes. The output is a table showing various payload sizes with their corresponding latency in microseconds. @@ -162,10 +162,10 @@ Currently, there are no automatic regression tests in the CI running. The work t ### Linters and Static Analysis [4.v] -The code formatting is enforced through the CI using `clang-format` and can be used by following this [guide](https://github.com/eclipse-iceoryx/iceoryx/blob/master/CONTRIBUTING.md#coding-style) +The code formatting is enforced through the CI using `clang-format` and can be used by following this [guide](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/CONTRIBUTING.md#coding-style) The codebase is checked with `clang-tidy` to enforce naming conventions and basic coding rules and checked in the Pull-Requests by review. -A [static code analysis](https://github.com/eclipse-iceoryx/iceoryx/blob/master/CONTRIBUTING.md#static-code-analysis) is done regularly with the Axivion Suite, but the results are not publicly accessible due to licensing. +A [static code analysis](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/CONTRIBUTING.md#static-code-analysis) is done regularly with the Axivion Suite, but the results are not publicly accessible due to licensing. ## Dependencies [5] diff --git a/doc/aspice_swe3_4/swe_docu_guidelines.md b/doc/aspice_swe3_4/swe_docu_guidelines.md index 2e101d5d9d..abb3d1ec82 100644 --- a/doc/aspice_swe3_4/swe_docu_guidelines.md +++ b/doc/aspice_swe3_4/swe_docu_guidelines.md @@ -93,7 +93,7 @@ Generally, you will not find any Doxygen file in our repo because we let CMake g In [Cmake](CMakeLists.txt) is the command `doxygen_add_docs` which does the job. There, we are also setting some parameters and the aliases for the custom tags. Aliases with an `xrefitem` create a page where all occurrences of the corresponding tag are collected. ### file header -Please see [Header](https://github.com/eclipse-iceoryx/iceoryx/blob/master/CONTRIBUTING.md#header). +Please see [Header](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/CONTRIBUTING.md#header). ### Include guards Every header and inl file needs to have an include guard. Pragma once is not allowed. diff --git a/doc/design/README.md b/doc/design/README.md index b7517db956..4c4e8c5f39 100644 --- a/doc/design/README.md +++ b/doc/design/README.md @@ -19,7 +19,7 @@ A good online-editor with cheat-sheet can be found at [https://plantuml-editor.k Alternatively you can use extensions in your IDE. The integration of the generated PlantUML into your design documents is done via *.svg files. -You need to create a .puml file and export it to .svg afterwards for linking it with the markdown. In the `tools` folder is a [helper script](https://github.com/eclipse-iceoryx/iceoryx/blob/master/tools/scripts/generate_plantuml_svg.sh) provided which downloads a defined version of PlantUML to export the vector graphics. +You need to create a .puml file and export it to .svg afterwards for linking it with the markdown. In the `tools` folder is a [helper script](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/tools/scripts/generate_plantuml_svg.sh) provided which downloads a defined version of PlantUML to export the vector graphics. These steps are necessary due to the current support of PlantUML in [Github](https://github.community/t/support-uml-diagrams-in-markdown-with-plantuml-syntax/626). **NOTE:** Don't set parameter for theming (like background color) directly in individual puml files but use the central `doc/iceoryx-plantuml-config.puml` which is shared with all diagrams. diff --git a/doc/shared-memory-communication.md b/doc/shared-memory-communication.md index db93d340e9..650a47a3b6 100644 --- a/doc/shared-memory-communication.md +++ b/doc/shared-memory-communication.md @@ -48,7 +48,7 @@ The number of segments used by an iceoryx system, along with the configuration o provided to the system via configuration. The configuration can be provided at compile time (as a header) or at runtime (as a toml-formatted text file). -See the [configuration guide](https://github.com/eclipse-iceoryx/iceoryx/blob/master/doc/website/advanced/configuration-guide.md#configuring-mempools-for-roudi) for more details. +See the [configuration guide](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/doc/website/advanced/configuration-guide.md#configuring-mempools-for-roudi) for more details. ## Zero-copy communication diff --git a/doc/website/.pages b/doc/website/.pages index a1f9abefb5..0891faf48e 100644 --- a/doc/website/.pages +++ b/doc/website/.pages @@ -7,4 +7,3 @@ nav: - FAQ.md - advanced - release-notes - - API-reference diff --git a/doc/website/FAQ.md b/doc/website/FAQ.md index 1d3fc53334..56ae7268b8 100644 --- a/doc/website/FAQ.md +++ b/doc/website/FAQ.md @@ -4,7 +4,7 @@ In this document are tips and hints documented which can help for troubleshootin ## Does iceoryx run in a docker environment -Yes. Take a look at the [icedocker example](https://github.com/eclipse-iceoryx/iceoryx/blob/master/iceoryx_examples/icedelivery) +Yes. Take a look at the [icedocker example](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/iceoryx_examples/icedocker) ## iox-roudi fails on startup @@ -99,4 +99,4 @@ docker run -it --shm-size="2g" ubuntu To avoid undefined behavior of iceoryx posh it is recommended to terminate RouDi and the corresponding middleware processes with SIGINT or SIGTERM. In RouDi, we have integrated a sighandler that catches the signals and gives RouDi the chance to exit and clean-up everything. This also applies for processes. Therefore, we recommend adding a signalhandler -to your process (see [this example](https://github.com/eclipse-iceoryx/iceoryx/blob/master/iceoryx_examples/icedelivery/iox_publisher_untyped.cpp)). +to your process (see [this example](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/iceoryx_examples/icedelivery/iox_publisher_untyped.cpp)). diff --git a/doc/website/advanced/configuration-guide.md b/doc/website/advanced/configuration-guide.md index 0fa9b22d6e..26af903e79 100644 --- a/doc/website/advanced/configuration-guide.md +++ b/doc/website/advanced/configuration-guide.md @@ -15,7 +15,7 @@ These options adjust the limits of Publisher and Subscriber Ports for resource m | `IOX_MAX_CHUNKS_HELD_PER_SUBSCRIBER_SIMULTANEOUSLY` | Maximum number of chunks a subscriber can hold at a given time (subscriber history size)| | `IOX_MAX_INTERFACE_NUMBER` | Maximum number of interface ports which are used for gateways | -Have a look at [iceoryx_posh_deployment.cmake](https://github.com/eclipse-iceoryx/iceoryx/blob/master/iceoryx_posh/cmake/iceoryx_posh_deployment.cmake) for the default values of the constants. +Have a look at [IceoryxPoshDeployment.cmake](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/iceoryx_posh/cmake/IceoryxPoshDeployment.cmake) for the default values of the constants. !!! hint With the default values set, the size of `iceoryx_mgmt` is ~64.5 MByte. You can reduce the size by decreasing the values from the table via the CMake options. The current values are printed in the CMake stage when building iceoryx. @@ -142,7 +142,7 @@ size = 1024 count = 100 ``` -When no config file is specified, a hard-coded version similar to the [default config](https://github.com/eclipse-iceoryx/iceoryx/blob/master/iceoryx_posh/etc/iceoryx/roudi_config_example.toml) will be used. +When no config file is specified, a hard-coded version similar to the [default config](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/iceoryx_posh/etc/iceoryx/roudi_config_example.toml) will be used. ### Static configuration @@ -150,4 +150,4 @@ Another way is to have a static config that is compile-time dependent, this mean You can have your source file with `main()` method where you can create your custom configuration and pass it to a RouDi instantiation. In your CMake file for your custom RouDi you need to ensure that it is **not** linking against `iceoryx_posh_config` to have a static config. -A good example of a static config can be found [here](https://github.com/eclipse-iceoryx/iceoryx/blob/master/iceoryx_examples/iceperf/roudi_main_static_config.cpp). +A good example of a static config can be found [here](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/iceoryx_examples/iceperf/roudi_main_static_config.cpp). diff --git a/doc/website/advanced/installation-guide-for-contributors.md b/doc/website/advanced/installation-guide-for-contributors.md index 715d61196a..ccf5f4a030 100644 --- a/doc/website/advanced/installation-guide-for-contributors.md +++ b/doc/website/advanced/installation-guide-for-contributors.md @@ -53,7 +53,7 @@ Let's assume you want to execute only `ServiceDescription_test` from posh_module !!! hint While writing code on iceoryx you should use git hooks that automatically ensure that you follow the coding and style guidelines. - See [`git-hooks`](https://github.com/eclipse-iceoryx/iceoryx/blob/master/tools/git-hooks/Readme.md). + See [`git-hooks`](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/tools/git-hooks/Readme.md). ## :fontawesome-solid-pump-soap: Use Sanitizer Scan diff --git a/doc/website/concepts/architecture.md b/doc/website/concepts/architecture.md index 730c253932..8163e001a3 100644 --- a/doc/website/concepts/architecture.md +++ b/doc/website/concepts/architecture.md @@ -21,7 +21,7 @@ The different libraries and their namespaces are depicted below. Handy Objects Optimized For Safety (hoofs) is a library and contains various building blocks like fixed size containers, concurrency classes and modern, next-gen C++ constructs from upcoming C++ standard releases. -For more information about the components, refer to its [detailed description](https://github.com/eclipse-iceoryx/iceoryx/blob/master/iceoryx_hoofs/README.md). +For more information about the components, refer to its [detailed description](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/iceoryx_hoofs/README.md). ### iceoryx posh @@ -55,7 +55,7 @@ The module `iceoryx_binding_c` makes the inter-process communication features of The package `iceoryx_dds` provides a bi-directional DDS gateway using [Eclipse Cyclone DDS](https://cyclonedds.io/). The gateway can be used to send data over a network e.g. via Ethernet. -For more information, refer to the [Readme](https://github.com/eclipse-iceoryx/iceoryx/blob/master/iceoryx_dds/README.md). +For more information, refer to the [Readme](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/iceoryx_dds/README.md). ### iceoryx introspection diff --git a/doc/website/concepts/how-optional-and-error-values-are-returned-in-iceoryx.md b/doc/website/concepts/how-optional-and-error-values-are-returned-in-iceoryx.md index 2b97d3cbca..addb946dc1 100644 --- a/doc/website/concepts/how-optional-and-error-values-are-returned-in-iceoryx.md +++ b/doc/website/concepts/how-optional-and-error-values-are-returned-in-iceoryx.md @@ -64,7 +64,7 @@ result = iox::cxx::nullopt; ``` For a complete list of available functions see -[`optional.hpp`](https://github.com/eclipse-iceoryx/iceoryx/blob/master/iceoryx_hoofs/include/iceoryx_hoofs/cxx/optional.hpp). +[`optional.hpp`](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/iceoryx_hoofs/include/iceoryx_hoofs/cxx/optional.hpp). The `iox::cxx::optional` behaves like the [`std::optional`](https://en.cppreference.com/w/cpp/utility/optional) except that it does not throw exceptions and has no undefined behavior. @@ -76,7 +76,7 @@ the 'either monad'. It is usually used to pass a value of type `T` or an error t error type. For more information on how it is used for error handling see -[error-handling.md](https://github.com/eclipse-iceoryx/iceoryx/blob/master/doc/design/error-handling.md). +[error-handling.md](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/doc/design/error-handling.md). Assume we have `E` as an error type, then we can create a value @@ -117,7 +117,7 @@ result.and_then(handleValue).or_else(handleError); There are more convenience functions such as `value_or` which provides the value or an alternative specified by the user. These can be found in -[`expected.hpp`](https://github.com/eclipse-iceoryx/iceoryx/blob/master/iceoryx_hoofs/include/iceoryx_hoofs/cxx/expected.hpp). +[`expected.hpp`](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/iceoryx_hoofs/include/iceoryx_hoofs/cxx/expected.hpp). Note that when we move an `expected`, the origin contains a moved `T` or `E`, depending on the content before the move. This reflects the behavior of moving the content out of the `iox::cxx::expected` as in diff --git a/doc/website/examples/icediscovery_in_c.md b/doc/website/examples/icediscovery_in_c.md index de0d67a29a..ef521bb817 100644 --- a/doc/website/examples/icediscovery_in_c.md +++ b/doc/website/examples/icediscovery_in_c.md @@ -2,4 +2,4 @@ title: Searching for currently available services using C --- -{! ../iceoryx/iceoryx_examples/icediscovery/README.md !} +{! ../iceoryx/iceoryx_examples/icediscovery_in_c/README.md !} diff --git a/doc/website/getting-started/installation.md b/doc/website/getting-started/installation.md index f1c84d4dc5..3defe00ae8 100644 --- a/doc/website/getting-started/installation.md +++ b/doc/website/getting-started/installation.md @@ -58,7 +58,7 @@ Additionally, there is an optional dependency to the [cpptoml](https://github.co QNX SDP 7.0 and 7.1 are supported (shipping with gcc 5.4 and gcc 8.3 respectively). The easiest way to build iceoryx on QNX is by using the build script and providing a toolchain file. -We provide generic QNX SDP 7.0 toolchain files for ARM_64 and X86_64 in `./tools/toolchains/qnx` ([Direct Link](https://github.com/eclipse-iceoryx/iceoryx/tree/master/tools/toolchains/qnx)). +We provide generic QNX SDP 7.0 toolchain files for ARM_64 and X86_64 in `./tools/toolchains/qnx` ([Direct Link](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/tools/toolchains/qnx)). ARM_64: @@ -148,7 +148,7 @@ The `CMakeLists.txt` from `iceoryx_meta` can be used to easily develop iceoryx w ### Build options -Please take a look at the CMake file [build_options.cmake](https://github.com/eclipse-iceoryx/iceoryx/blob/master/iceoryx_meta/build_options.cmake) +Please take a look at the CMake file [build_options.cmake](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/iceoryx_meta/build_options.cmake) to get an overview of the available build options for enabling additional features. ## :material-powershell: Build with script diff --git a/doc/website/getting-started/overview.md b/doc/website/getting-started/overview.md index 56ca6d4272..c547ba48ef 100644 --- a/doc/website/getting-started/overview.md +++ b/doc/website/getting-started/overview.md @@ -67,9 +67,8 @@ iox::popo::Subscriber subscriber({"Group", "Instance", "CounterTop ``` Now we can use the subscriber to receive data. For simplicity, we assume that we periodically check for new data. It -is also possible to explicitly wait for data using the [WaitSet](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/waitset) -or the [Listener](https://github.com/eclipse-iceoryx/iceoryx/blob/master/doc/design/listener.md). The code to -receive the data is the same, the only difference is the way we wake up before checking for data. +is also possible to explicitly wait for data using the [WaitSet](waitset.md) or the [Listener](callbacks.md). The +code to receive the data is the same, the only difference is the way we wake up before checking for data. ```cpp while (keepRunning) @@ -96,7 +95,7 @@ while (keepRunning) By calling `take` we get an `expected` and hence we have to handle the potential error. And that's it. We have created our first simple iceoryx example. -[Here](https://github.com/eclipse-iceoryx/iceoryx/blob/master/iceoryx_examples/README.md) you can find further examples +[Here](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/iceoryx_examples/README.md) you can find further examples which demonstrate how iceoryx can be used and describe our API in more detail. Now that we have applications capable of sending and receiving data, we can run the complete iceoryx system. @@ -150,7 +149,7 @@ Shared memory is physical memory that is made accessible to multiple processes v virtual address spaces. For further information have a look at our -[shared memory concept article](https://github.com/eclipse-iceoryx/iceoryx/blob/master/doc/shared-memory-communication.md). +[shared memory concept article](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/doc/shared-memory-communication.md). ### Runtime @@ -192,7 +191,7 @@ The following table gives an overview of the different terminologies and the cur |-----------------------------------------------------------------------------------|---------|------------------|------------------------| | [rmw_iceoryx](https://github.com/ros2/rmw_iceoryx/) | Type | Namespace/Topic | - | | AUTOSAR | Service | Instance | Event | -| [DDS Gateway](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_dds) | - | - | /Group/Instance/Topic | +| [DDS Gateway](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_dds) | - | - | /Group/Instance/Topic | | [Cyclone DDS](https://github.com/ros2/rmw_cyclonedds) | - | Type Name | Topic Name | Service is related to instance like classes are related to objects in C++. A service describes an abstract topic and an @@ -230,7 +229,7 @@ to process local constructs, no dynamic allocators !!! note Most of the STL types cannot be used, but we reimplemented some of them so that they meet the conditions above. - You can find an overview [here](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_hoofs#cxx). + You can find an overview [here](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_hoofs#cxx). ### Publisher @@ -299,7 +298,7 @@ The WaitSet uses the [reactor pattern](https://en.wikipedia.org/wiki/Reactor_pat strategy that one of the attached events occured at which it informs the user. For more information on how to use the WaitSet see our -[WaitSet examples](https://github.com/eclipse-iceoryx/iceoryx/blob/master/iceoryx_examples/waitset). +[WaitSet examples](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/iceoryx_examples/waitset). ### Listener @@ -321,17 +320,17 @@ connected callback that creates and sends a response, is executed. Like the WaitSet, the Listener uses the reactor pattern. For more information about the Listener see our -[callbacks examples](https://github.com/eclipse-iceoryx/iceoryx/blob/master/iceoryx_examples/callbacks). +[callbacks examples](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/iceoryx_examples/callbacks). ## API The API is offered in two languages, C++ and C. Detailed information can be found in the -[C++ example](https://github.com/eclipse-iceoryx/iceoryx/blob/master/iceoryx_examples/icedelivery) and -[C example](https://github.com/eclipse-iceoryx/iceoryx/blob/master/iceoryx_examples/icedelivery_in_c). +[C++ example](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/iceoryx_examples/icedelivery) and +[C example](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/iceoryx_examples/icedelivery_in_c). Many parts of the C++ API follow a functional programming approach which is less error-prone. This requires using the monadic types `cxx::expected` and `cxx::optional` which are introduced -[here](https://github.com/eclipse-iceoryx/iceoryx/blob/master/doc/website/concepts/how-optional-and-error-values-are-returned-in-iceoryx.md). +[here](how-optional-and-error-values-are-returned-in-iceoryx.md). With the C++ API, we distinguish between the `typed API` and the `untyped API`. In the typed API, the underlying data type is made apparent by typed pointers or references to some data type T (often a template parameter). This allows diff --git a/doc/website/overrides/partials/footer.html b/doc/website/overrides/partials/footer.html index df5ad7c67d..e2e76353a0 100644 --- a/doc/website/overrides/partials/footer.html +++ b/doc/website/overrides/partials/footer.html @@ -77,7 +77,7 @@ class="md-social__link"> {% include ".icons/material/chat.svg" %} - {% include ".icons/material/calendar.svg" %} diff --git a/iceoryx_examples/callbacks/README.md b/iceoryx_examples/callbacks/README.md index 8093f65c67..5bdd7a3a53 100644 --- a/iceoryx_examples/callbacks/README.md +++ b/iceoryx_examples/callbacks/README.md @@ -11,7 +11,7 @@ one accessing it or that it is accessed with a guard like a `std::mutex`. ## Introduction For an introduction into the terminology please read the Glossary in the -[WaitSet C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/waitset). +[WaitSet C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/waitset). The Listener is a completely thread-safe construct that reacts to events by executing registered callbacks in a background thread. Events can be emitted by @@ -42,7 +42,7 @@ we store it until we received the other side. The publisher of this example does not contain any new features but if you have some questions take a look at the -[icedelivery example](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/icedelivery). +[icedelivery example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/icedelivery). ### ice_callbacks_subscriber.cpp @@ -333,5 +333,5 @@ static void onSampleReceivedCallback(iox::popo::Subscriber* subscr ```
-[Check out callbacks on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/callbacks){ .md-button } +[Check out callbacks on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/callbacks){ .md-button }
diff --git a/iceoryx_examples/callbacks_in_c/README.md b/iceoryx_examples/callbacks_in_c/README.md index b1b8b712c5..569ff673ee 100644 --- a/iceoryx_examples/callbacks_in_c/README.md +++ b/iceoryx_examples/callbacks_in_c/README.md @@ -12,9 +12,9 @@ one accessing it or that it is accessed with a guard like a `mutex`. For a general introduction into the Listener concept please take a look at the first part of the -[Listener C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/callbacks) +[Listener C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/callbacks) and at the Glossary of the -[WaitSet C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/waitset). +[WaitSet C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/waitset). ## Expected Output @@ -35,7 +35,7 @@ received a sample from each service we calculate the sum of it. The publisher contains only already known iceoryx features. If some of them are not known to you please take a look at the -[icedelivery in C example](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/icedelivery_in_c). +[icedelivery in C example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/icedelivery_in_c). ### ice_c_callbacks_subscriber.c @@ -267,5 +267,5 @@ iox_listener_attach_subscriber_event_with_context_data( ```
-[Check out callbacks_in_c on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/callbacks_in_c){ .md-button } +[Check out callbacks_in_c on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/callbacks_in_c){ .md-button }
diff --git a/iceoryx_examples/complexdata/README.md b/iceoryx_examples/complexdata/README.md index 63891fd60a..80ff6b65f6 100644 --- a/iceoryx_examples/complexdata/README.md +++ b/iceoryx_examples/complexdata/README.md @@ -4,8 +4,8 @@ To implement zero-copy data transfer we use a shared memory approach. This requires that every data structure needs to be entirely contained in the shared memory and must not internally use pointers or references. The complete list of restrictions can be found -[here](https://iceoryx.io/latest/getting-started/overview/#restrictions). Therefore, most of the STL types cannot be used, but we -reimplemented some [constructs](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_hoofs#cxx). This example shows how +[here](https://iceoryx.io/v2.0.0/getting-started/overview/#restrictions). Therefore, most of the STL types cannot be used, but we +reimplemented some [constructs](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_hoofs#cxx). This example shows how to send/receive a iox::cxx::vector and how to send/receive a complex data structure containing some of our STL container surrogates. ## Expected Output @@ -28,7 +28,7 @@ iox::popo::Publisher> publisher({"Radar", "FrontRigh ``` We use a while-loop similar to the one described in the -[icedelivery example](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/icedelivery) to send the +[icedelivery example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/icedelivery) to send the vector to the subscriber. After successfully loaning memory we append elements to the vector until it's full. @@ -63,7 +63,7 @@ for (const auto& entry : *sample) In this example our publisher will send a more complex data structure. It contains some of the STL containers that are reimplemented in iceoryx. A list of all reimplemented containers can be found -[here](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_hoofs#cxx). +[here](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_hoofs#cxx). ```cpp @@ -116,7 +116,7 @@ handleInsertionReturnVal(sample->optionalList.push_front(nullopt)); !!! note If you're not familiar with `optional`, please have a look at - [How optional and error values are returned in iceoryx](https://github.com/eclipse-iceoryx/iceoryx/blob/master/doc/website/concepts/how-optional-and-error-values-are-returned-in-iceoryx.md/#optional). + [How optional and error values are returned in iceoryx](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/doc/website/concepts/how-optional-and-error-values-are-returned-in-iceoryx.md/#optional). Now we fill the stack @@ -209,5 +209,5 @@ for (const auto& i : sample->variantVector) ```
-[Check out complexdata on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/complexdata){ .md-button } +[Check out complexdata on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/complexdata){ .md-button }
diff --git a/iceoryx_examples/ice_access_control/README.md b/iceoryx_examples/ice_access_control/README.md index 76bfb70ada..6a754fe7ff 100644 --- a/iceoryx_examples/ice_access_control/README.md +++ b/iceoryx_examples/ice_access_control/README.md @@ -101,7 +101,7 @@ to read, but don't have write access. Users in the writer group have both read a !!! tip Shared memory segment can also be configured via a - [TOML config](https://github.com/eclipse-iceoryx/iceoryx/blob/master/doc/website/advanced/configuration-guide.md#dynamic-configuration) file. + [TOML config](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/doc/website/advanced/configuration-guide.md#dynamic-configuration) file. The radar app is started with the user _perception_, which is in the group _privileged_. Therefore it has write access to the _privileged_ segment and is sending data into the _privileged_ shared memory segment. @@ -172,5 +172,5 @@ iox::popo::Publisher publisher({"Radar", "FrontLeft", "Object"}); ```
-[Check out ice_access_control on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/ice_access_control){ .md-button } +[Check out ice_access_control on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/ice_access_control){ .md-button }
diff --git a/iceoryx_examples/icecrystal/Readme.md b/iceoryx_examples/icecrystal/Readme.md index 6fd755e962..925ac0650f 100644 --- a/iceoryx_examples/icecrystal/Readme.md +++ b/iceoryx_examples/icecrystal/Readme.md @@ -10,7 +10,7 @@ memory. ## Expected Output We re-use the binaries from -[icedelivery](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/icedelivery). +[icedelivery](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/icedelivery). @@ -19,7 +19,7 @@ We re-use the binaries from ## Feature walkthrough This example does not contain any additional code. The code of the `iceoryx_introspection_client` can be found under -[tools/introspection/](../../tools/introspection/). +[tools/introspection/](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/tools/introspection). The introspection can be started with several command line arguments. diff --git a/iceoryx_examples/icedelivery/README.md b/iceoryx_examples/icedelivery/README.md index 813815dc3f..8cac0d1cd7 100644 --- a/iceoryx_examples/icedelivery/README.md +++ b/iceoryx_examples/icedelivery/README.md @@ -349,5 +349,5 @@ In case of the typed `Subscriber`, `auto` is deduced to `iox::popo::Sample -[Check out icedelivery on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/icedelivery){ .md-button } +[Check out icedelivery on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/icedelivery){ .md-button } diff --git a/iceoryx_examples/icedelivery_in_c/README.md b/iceoryx_examples/icedelivery_in_c/README.md index d0644728cd..74ff4b08d3 100644 --- a/iceoryx_examples/icedelivery_in_c/README.md +++ b/iceoryx_examples/icedelivery_in_c/README.md @@ -1,12 +1,12 @@ # icedelivery in C You can find a more detailed description of the C API in the -[iceoryx_binding_c README.md](https://github.com/eclipse-iceoryx/iceoryx/blob/master/iceoryx_binding_c/README.md). +[iceoryx_binding_c README.md](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/iceoryx_binding_c/README.md). ## Introduction The behavior and structure is identical to the -[icedelivery C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/icedelivery) +[icedelivery C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/icedelivery) so that we explain here only the C API differences and not the underlying mechanisms. ## Expected Output @@ -18,7 +18,7 @@ so that we explain here only the C API differences and not the underlying mechan ### Subscriber As in the -[icedelivery C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/icedelivery), +[icedelivery C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/icedelivery), we perform the following steps: 1. Create a runtime instance. @@ -100,7 +100,7 @@ iox_sub_deinit(subscriber); ### Publisher The publisher is implemented in a similar way like in the -[icedelivery C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/icedelivery): +[icedelivery C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/icedelivery): 1. Create a runtime instance. 2. Create a publisher with some options. @@ -175,5 +175,5 @@ iox_pub_deinit(publisher); ```
-[Check out icedelivery_in_c on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/icedelivery_in_c){ .md-button } +[Check out icedelivery_in_c on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/icedelivery_in_c){ .md-button }
diff --git a/iceoryx_examples/icediscovery/README.md b/iceoryx_examples/icediscovery/README.md index d7de0c8ed1..cd210c4632 100644 --- a/iceoryx_examples/icediscovery/README.md +++ b/iceoryx_examples/icediscovery/README.md @@ -24,7 +24,7 @@ default. For more dynamism the `cameraPublishers` offer/stop their services periodically. If you want more information on how to create a publisher, have a look at the [icehello](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/icehello), [icedelivery](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/icedelivery), -and [iceoptions](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/icedelivery) +and [iceoptions](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/iceoptions) examples. ### Find services diff --git a/iceoryx_examples/icediscovery_in_c/README.md b/iceoryx_examples/icediscovery_in_c/README.md index 40aa3f372f..43ef181490 100644 --- a/iceoryx_examples/icediscovery_in_c/README.md +++ b/iceoryx_examples/icediscovery_in_c/README.md @@ -5,7 +5,7 @@ This example demonstrates how to search for specific services using iceoryx's service discovery. It provides two applications - one offering different services and one searching for those with different search queries. The -behavior and structure is quite similar to the [icediscovery C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/icedelivery). +behavior and structure is quite similar to the [icediscovery C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/icediscovery). diff --git a/iceoryx_examples/icedocker/README.md b/iceoryx_examples/icedocker/README.md index 94eb27ea94..6e3d622378 100644 --- a/iceoryx_examples/icedocker/README.md +++ b/iceoryx_examples/icedocker/README.md @@ -7,8 +7,8 @@ environment and it should orchestrate two applications which are running again in two different docker containers so that we end up with a system of 3 different docker containers. -To demonstrate the setup we use the -[icedelivery C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/icedelivery). +To demonstrate the setup we use the +[icedelivery C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/icedelivery). ``` +-----------+ @@ -32,7 +32,7 @@ Every iceoryx application registers itself at our central broker RouDi by sending a message to the unix domain socket located at `IOX_UDS_SOCKET_PATH_PREFIX/roudi` which is defined in the corresponding platform settings file `platform_settings.hpp`. In linux the socket file handle -can be found at `/tmp/roudi`. When the application registers at RouDi it +can be found at `/tmp/roudi`. When the application registers at RouDi it announces its unix domain socket as well to receive responses of requests which will be sent during runtime to RouDi. This socket is stored as well in `/tmp/IOX_RUNTIME_NAME`. The `iox-cpp-publisher` @@ -42,8 +42,8 @@ runtime has the same name as the binary which leads to the socket ### Shared Access to File Locks Iceoryx applications ensure that every runtime name is unique in the system -by creating a file lock before creating the runtime. This is stored in -`IOX_LOCK_FILE_PATH_PREFIX/IOX_RUNTIME_NAME.lock` whereby +by creating a file lock before creating the runtime. This is stored in +`IOX_LOCK_FILE_PATH_PREFIX/IOX_RUNTIME_NAME.lock` whereby `IOX_LOCK_FILE_PATH_PREFIX` is defined in the platform settings file `platform_settings.hpp`. When running the icedelivery example in a linux environment one can observe @@ -62,7 +62,7 @@ semaphores. For instance to signal a subscriber that data has arrived. ## Implementation -To have shared access to the required resources we have to bind the host +To have shared access to the required resources we have to bind the host filesystem: * `/tmp` @@ -75,9 +75,9 @@ into every docker container. We start in 3 separate terminals 3 docker instances. In this example we use `archlinux:latest` but one is free to choose any other linux distribution. The iceoryx repository which contains an already built iceoryx can be found at -`/home/user/iceoryx` which is bound to `/iceoryx`. The usage is -explained in detail in the -[icedelivery C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/icedelivery). +`/home/user/iceoryx` which is bound to `/iceoryx`. The usage is +explained in detail in the +[icedelivery C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/icedelivery). #### Terminal 1 (iox-roudi) ``` diff --git a/iceoryx_examples/iceensemble/README.md b/iceoryx_examples/iceensemble/README.md index 39e2a81f20..0d02e9245b 100644 --- a/iceoryx_examples/iceensemble/README.md +++ b/iceoryx_examples/iceensemble/README.md @@ -43,5 +43,5 @@ Alternatively, you can use the provided [tmux](https://en.wikipedia.org/wiki/Tmu [![asciicast](https://asciinema.org/a/407432.svg)](https://asciinema.org/a/407432)
-[Check out iceensemble on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/iceensemble){ .md-button } +[Check out iceensemble on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/iceensemble){ .md-button }
diff --git a/iceoryx_examples/icehello/README.md b/iceoryx_examples/icehello/README.md index 4ec5106fd8..4abf257ba5 100644 --- a/iceoryx_examples/icehello/README.md +++ b/iceoryx_examples/icehello/README.md @@ -182,11 +182,11 @@ std::this_thread::sleep_for(std::chrono::milliseconds(100)); ``` Increasing the polling rate is just one approach for reliable communication. -[iceoptions](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/iceoptions) explains how to +[iceoptions](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/iceoptions) explains how to configure the history size of a subscriber. In the -[WaitSet](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/waitset) example you learn how to +[WaitSet](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/waitset) example you learn how to avoid polling altogether.
-[Check out icehello on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/icehello){ .md-button } +[Check out icehello on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/icehello){ .md-button }
diff --git a/iceoryx_examples/iceoptions/README.md b/iceoryx_examples/iceoptions/README.md index ba41c1f0ef..22c3f67a89 100644 --- a/iceoryx_examples/iceoptions/README.md +++ b/iceoryx_examples/iceoptions/README.md @@ -97,7 +97,7 @@ By default this is set to `false` and best-effort behavior is used. !!! warning In case of n:m communication, the history feature will **not** provide the overall last n samples based on delivery point in time! - For more information about this limitation see the [QoS article](https://iceoryx.io/latest/concepts/qos-policies/). + For more information about this limitation see the [QoS article](https://iceoryx.io/v2.0.0/concepts/qos-policies/). ```cpp @@ -136,5 +136,5 @@ subscriberOptions.queueFullPolicy = iox::popo::QueueFullPolicy::BLOCK_PRODUCER; ```
-[Check out iceoptions on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/iceoptions){ .md-button } +[Check out iceoptions on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/iceoptions){ .md-button }
diff --git a/iceoryx_examples/iceperf/README.md b/iceoryx_examples/iceperf/README.md index 12e1ae7cac..2b98d26832 100644 --- a/iceoryx_examples/iceperf/README.md +++ b/iceoryx_examples/iceperf/README.md @@ -409,5 +409,5 @@ void IcePerfFollower::doMeasurement(IcePerfBase& ipcTechnology) noexcept ```
-[Check out iceperf on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/iceperf){ .md-button } +[Check out iceperf on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/iceperf){ .md-button }
diff --git a/iceoryx_examples/request_response/README.md b/iceoryx_examples/request_response/README.md index 3023db5751..3c66b8c081 100644 --- a/iceoryx_examples/request_response/README.md +++ b/iceoryx_examples/request_response/README.md @@ -22,8 +22,8 @@ one. In the following scenario the client (client_cxx_waitset.cpp) uses the WaitSet to wait for a response from the server (server_cxx_listener.cpp). The server uses the Listener API to take and process the requests from the client. -The client is inspired by the `iox-cpp-waitset-basic` example from the [WaitSet](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/waitset) -example and the server from the `iox-cpp-callbacks-subscriber` in the [Listener](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/callbacks) +The client is inspired by the `iox-cpp-waitset-basic` example from the [WaitSet](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/waitset) +example and the server from the `iox-cpp-callbacks-subscriber` in the [Listener](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/callbacks) example. This is the most recommended way to create an efficient client-server combination with iceoryx. @@ -63,7 +63,7 @@ iox::runtime::PoshRuntime::initRuntime(APP_NAME); ``` After creating the runtime, the client is created and attached to the WaitSet. -The [options](https://iceoryx.io/latest/getting-started/examples/iceoptions/) can be used to alter the behavior of the client, like setting the response +The [options](https://iceoryx.io/v2.0.0/getting-started/examples/iceoptions/) can be used to alter the behavior of the client, like setting the response queue capacity or blocking behavior when the response queue is full or the server is too slow. The `ClientOptions` are similar to `PublisherOptions`/`SubscriberOptions`. @@ -253,5 +253,5 @@ listener.detachEvent(server, iox::popo::ServerEvent::REQUEST_RECEIVED); ```
-[Check out request_response on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/request_response){ .md-button } +[Check out request_response on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/request_response){ .md-button }
diff --git a/iceoryx_examples/request_response_in_c/README.md b/iceoryx_examples/request_response_in_c/README.md index c3fb42a759..c82b4522d4 100644 --- a/iceoryx_examples/request_response_in_c/README.md +++ b/iceoryx_examples/request_response_in_c/README.md @@ -1,12 +1,12 @@ # Request response in C You can find a more detailed description of the C API in the -[iceoryx_binding_c README.md](https://github.com/eclipse-iceoryx/iceoryx/blob/master/iceoryx_binding_c/README.md). +[iceoryx_binding_c README.md](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/iceoryx_binding_c/README.md). ## Introduction The behavior and structure is very close to the -[request response C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/request_response) +[request response C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/request_response) so that we explain here only the C API differences and not the underlying mechanisms. The rough idea is that the client sends two fibonacci numbers to the server which @@ -147,9 +147,9 @@ The server and client or both attachable to either a listener or a waitset. In this example we demonstrate how one can implement the client basic example with a waitset. For deeper insights into the WaitSet take a look at the -[WaitSet C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/waitset) +[WaitSet C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/waitset) or when you would like to know more about the listener, see the -[Callbacks C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/callbacks). +[Callbacks C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/callbacks). The startup phase is identical to the client basic version, we register the signal handlers, initialize the runtime, create a client and initialize our variables. @@ -305,9 +305,9 @@ The server and client or both attachable to either a listener or a waitset. In this example we demonstrate how one can implement the server basic example with a listener. For deeper insights into the WaitSet take a look at the -[WaitSet C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/waitset) +[WaitSet C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/waitset) or when you would like to know more about the listener, see the -[Callbacks C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/callbacks). +[Callbacks C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/callbacks). The listener example starts like the basic example by registering the signal handler, initializing the runtime and creating a server. @@ -388,5 +388,5 @@ iox_server_deinit(server); ```
-[Check out request response in c on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/request_response_in_c){ .md-button } +[Check out request response in c on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/request_response_in_c){ .md-button }
diff --git a/iceoryx_examples/singleprocess/README.md b/iceoryx_examples/singleprocess/README.md index 954b11a7c2..7356f36dec 100644 --- a/iceoryx_examples/singleprocess/README.md +++ b/iceoryx_examples/singleprocess/README.md @@ -42,7 +42,7 @@ iox::roudi::IceOryxRouDiComponents roudiComponents(defaultRouDiConfig); ``` 3. We are starting RouDi, provide the required components and - disable monitoring. The last bool parameter `TERMINATE_APP_IN_ROUDI_DTOR_FLAG` + disable monitoring. The last bool parameter `TERMINATE_APP_IN_ROUDI_DTOR_FLAG` states that RouDi does not terminate all registered processes when RouDi goes out of scope. If we would set it to `true`, our application would self terminate in the destructor of `roudi`. @@ -83,7 +83,7 @@ std::cout << "Finished" << std::endl; ### Implementation of Publisher and Subscriber Since there are no differences to the inter-process ports you can take a look at the -[icedelivery example](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/icedelivery) +[icedelivery example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/icedelivery) for a detailed documentation. We only provide here a short overview. #### Publisher @@ -130,7 +130,7 @@ options.historyRequest = 5U; iox::popo::Subscriber subscriber({"Single", "Process", "Demo"}, options); ``` -Now we can receive the data in a while loop when our `SubscribeState` is `SUBSCRIBED` +Now we can receive the data in a while loop when our `SubscribeState` is `SUBSCRIBED` until someone terminates the application. @@ -161,5 +161,5 @@ while (!iox::posix::hasTerminationRequested()) ```
-[Check out singleprocess on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/singleprocess){ .md-button } +[Check out singleprocess on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/singleprocess){ .md-button }
diff --git a/iceoryx_examples/user_header/README.md b/iceoryx_examples/user_header/README.md index 8cac2f86d7..ff06a7464b 100644 --- a/iceoryx_examples/user_header/README.md +++ b/iceoryx_examples/user_header/README.md @@ -295,3 +295,6 @@ if (iox_sub_take_chunk(subscriber, &userPayload) == ChunkReceiveResult_SUCCESS) iox_sub_release_chunk(subscriber, userPayload); } ``` +
+[Check out User-Header on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/user_header){ .md-button } +
diff --git a/iceoryx_examples/waitset/README.md b/iceoryx_examples/waitset/README.md index c23b49b72b..3665212fcb 100644 --- a/iceoryx_examples/waitset/README.md +++ b/iceoryx_examples/waitset/README.md @@ -147,7 +147,7 @@ This example consists of 6 use cases. All our examples require a running `iox-roudi` and some data to receive which will be send by `iox-cpp-waitset-publisher`. The publisher does not contain any _WaitSet_ specific logic and is explained in detail in the -[icedelivery example](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/icedelivery). +[icedelivery example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/icedelivery). ### Basic @@ -713,7 +713,7 @@ while (keepRunning.load()) In this example we describe how you would implement a _Triggerable_ class which can be attached to a _WaitSet_ or a -[Listener](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/callbacks). +[Listener](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/callbacks). Our class in this example will be called `MyTriggerClass` and it can signal the _WaitSet_ the two states `HAS_PERFORMED_ACTION` and `IS_ACTIVATED`. Furthermore, we can also attach the two corresponding events `PERFORM_ACTION_CALLED` and `ACTIVATE_CALLED`. The @@ -766,7 +766,7 @@ enum class MyTriggerClassStates : iox::popo::StateEnumIdentifier ##### Attaching Events Events can be attached to _WaitSets_ and -[Listeners](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/callbacks). +[Listeners](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/callbacks). For this to work the class has to implement the following methods. 1. `void enableEvent(iox::popo::TriggerHandle&&, const UserDefinedEventEnum)` @@ -1113,5 +1113,5 @@ std::thread triggerThread([&] { ```
-[Check out waitset on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/waitset){ .md-button } +[Check out waitset on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/waitset){ .md-button }
diff --git a/iceoryx_examples/waitset_in_c/README.md b/iceoryx_examples/waitset_in_c/README.md index f7caac2589..8b69cfd59d 100644 --- a/iceoryx_examples/waitset_in_c/README.md +++ b/iceoryx_examples/waitset_in_c/README.md @@ -15,11 +15,11 @@ trigger the _TriggerHandle_. ## Introduction -A detailed introduction into the _WaitSet_ nomenclature and topic can be found in the -[waitset C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/waitset). -Here we will only introduce the C API and not the _WaitSet_ in general. For this, we will +A detailed introduction into the WaitSet nomenclature and topic can be found in the +[waitset C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/waitset). +Here we will only introduce the C API and not the WaitSet in general. For this, we will take a look at the same use case as the -[waitset C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/waitset). +[waitset C++ example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/waitset). The examples are structured in the same way as the C++ ones. ## Expected Output @@ -34,7 +34,7 @@ The examples are structured in the same way as the C++ ones. To run an example you need a running `iox-roudi` and the waitset publisher `iox-c-waitset-publisher`. They are identical to the ones introduced in the -[icedelivery C example](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/icedelivery_in_c). +[icedelivery C example](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/icedelivery_in_c). ### Gateway @@ -475,6 +475,7 @@ iox_user_trigger_deinit(shutdownTrigger); ``` ### Timer Driven Execution + In this example, we demonstrate how you can use the _WaitSet_ to trigger a cyclic call every second. We use a user trigger which will be triggered in a separate thread every second to signal the _WaitSet_ that it's time for the next run. @@ -574,5 +575,5 @@ iox_user_trigger_deinit(shutdownTrigger); ```
-[Check out waitset_in_c on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_examples/waitset_in_c){ .md-button } +[Check out waitset_in_c on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_examples/waitset_in_c){ .md-button }
diff --git a/iceoryx_hoofs/README.md b/iceoryx_hoofs/README.md index 729cad5f29..0eb37ec069 100644 --- a/iceoryx_hoofs/README.md +++ b/iceoryx_hoofs/README.md @@ -115,7 +115,7 @@ attribute overview of the available Queues: ### Error handling -The error handler is a central instance for collecting all errors and react to them. The `error-handling.hpp` contains a list of all error enum values. The error handler has different error levels, for more information see [error-handling.md](https://github.com/eclipse-iceoryx/iceoryx/blob/master/doc/design/error-handling.md) +The error handler is a central instance for collecting all errors and react to them. The `error-handling.hpp` contains a list of all error enum values. The error handler has different error levels, for more information see [error-handling.md](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/doc/design/error-handling.md) | class | internal | maybe obsolete | description | |:-----------------------:|:--------:|:--------------:|:------------| @@ -124,7 +124,7 @@ The error handler is a central instance for collecting all errors and react to t ### Log -For information about how to use the logger API see [error-handling.md](https://github.com/eclipse-iceoryx/iceoryx/blob/master/doc/design/error-handling.md) +For information about how to use the logger API see [error-handling.md](https://github.com/eclipse-iceoryx/iceoryx/blob/v2.0.0/doc/design/error-handling.md) | class | internal | maybe obsolete | description | |:-----------------------:|:--------:|:--------------:|:------------| @@ -193,5 +193,5 @@ setTimeout(5_ms); // 5 milliseconds |`FileReader` | i | X | Wrapper for opening files and reading them. |
-[Check out iceoryx_hoofs on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/master/iceoryx_hoofs/){ .md-button } +[Check out iceoryx_hoofs on GitHub :fontawesome-brands-github:](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.0/iceoryx_hoofs/){ .md-button }