diff --git a/doc/website/FAQ.md b/doc/website/FAQ.md index 21b0f55cc1..b77631e57f 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](../../iceoryx_examples/icedocker/) +Yes. Take a look at the [icedocker example](examples/icedocker.md) ## iceoryx crashes with SIGABRT when reserving shared memory in a docker envirnonment @@ -33,7 +33,7 @@ Either or -* Use the [blocking publisher feature](../../iceoryx_examples/iceoptions/) +* Use the [blocking publisher feature](examples/iceoptions.md) !!! caution The usage of the blocking publisher feature needs to be considered carefully as other subscribers will not receive @@ -62,7 +62,7 @@ Possible solutions are one of the following: 1. Increase [memory configuration of RouDi](advanced/configuration-guide.md) 1. Make sure that the receiving frequency is higher than the publishing one 1. Reduce `SubscriberOptions::queueCapacity` to hold less samples in the mempool on the subscriber side -1. Consider using the [blocking publisher feature](../../iceoryx_examples/iceoptions/). The usage needs to be +1. Consider using the [blocking publisher feature](examples/iceoptions.md). The usage needs to be considered carefully as other subscribers will not receive samples while the publisher is blocked. !!! caution @@ -162,13 +162,13 @@ 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](../../iceoryx_examples/icedelivery/iox_publisher_untyped.cpp)). +to your process (see [this example](https://github.com/eclipse-iceoryx/iceoryx/blob/v3.0.0/iceoryx_examples/icedelivery/iox_publisher_untyped.cpp)). ## How to use iceoryx as external dependency with bazel Define iceoryx repository information in your [WORKSPACE](https://bazel.build/concepts/build-ref#workspace) -then calling bazel macro from [load_repositories.bzl](https://github.com/eclipse-iceoryx/iceoryx/blob/main/bazel/load_repositories.bzl) -and [setup_repositories.bzl](https://github.com/eclipse-iceoryx/iceoryx/blob/main/bazel/setup_repositories.bzl) for loading transitive dependencies. +then calling bazel macro from [load_repositories.bzl](https://github.com/eclipse-iceoryx/iceoryx/blob/v3.0.0/bazel/load_repositories.bzl) +and [setup_repositories.bzl](https://github.com/eclipse-iceoryx/iceoryx/blob/v3.0.0/bazel/setup_repositories.bzl) for loading transitive dependencies. ``` load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") @@ -188,5 +188,4 @@ load("@eclipse_iceoryx//bazel:load_repositories.bzl", "load_repositories") load("@eclipse_iceoryx//bazel:setup_repositories.bzl", "setup_repositories") load_repositories() setup_repositories() - ``` diff --git a/doc/website/advanced/configuration-guide.md b/doc/website/advanced/configuration-guide.md index 3e38db4275..11568b213d 100644 --- a/doc/website/advanced/configuration-guide.md +++ b/doc/website/advanced/configuration-guide.md @@ -1,6 +1,6 @@ # Configuration guide -## CMake switches for configuring iceoryx_hoofs and iceoryx_posh build +## :material-cog: CMake switches for configuring iceoryx_hoofs and iceoryx_posh build There are several configuration options set by default when iceoryx_hoofs and iceoryx_posh are build. These options adjust the minimal log level compiled @@ -21,8 +21,8 @@ in the shared memory segment called `iceoryx_mgmt` when RouDi is started. | `IOX_MAX_INTERFACE_NUMBER` | Maximum number of interface ports which are used by gateways | | `IOX_MAX_REQUESTS_PROCESSED_SIMULTANEOUSLY` | Maximum number of server can process request in parallel | -Have a look at [IceoryxHoofsDeployment.cmake](../../../iceoryx_hoofs/cmake/IceoryxHoofsDeployment.cmake) and -[IceoryxPoshDeployment.cmake](../../../iceoryx_posh/cmake/IceoryxPoshDeployment.cmake) for the default values of the constants. +Have a look at [IceoryxHoofsDeployment.cmake](https://github.com/eclipse-iceoryx/iceoryx/blob/v3.0.0/iceoryx_hoofs/cmake/IceoryxHoofsDeployment.cmake) and +[IceoryxPoshDeployment.cmake](https://github.com/eclipse-iceoryx/iceoryx/blob/v3.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 @@ -79,7 +79,7 @@ This way, the ACL feature is disabled across builds without needing to pass the > > This ensures that the flag is applied to the correct target from the imported repository. -## Configuring Mempools for RouDi +## :material-memory: Configuring Mempools for RouDi RouDi supports several shared memory segments with different access rights, to limit the read and write access between different applications. Memory pools @@ -93,7 +93,7 @@ for communication. user-payload will be smaller than the configured chunk-payload since some space is needed for the other functionality. Please have a look at the - [chunk_header.md](../../design/chunk_header.md) + [chunk_header.md](https://github.com/eclipse-iceoryx/iceoryx/blob/v3.0.0/doc/design/chunk_header.md) design document for a formula how to determine the necessary chunk-payload size with user-header and extended user-payload alignment. @@ -212,7 +212,7 @@ count = 100 ``` When no configuration file is specified a hard-coded version similar to the -[default config](../../../iceoryx_posh/etc/iceoryx/roudi_config_example.toml) +[default config](https://github.com/eclipse-iceoryx/iceoryx/blob/v3.0.0/iceoryx_posh/etc/iceoryx/roudi_config_example.toml) will be used. ### Static configuration @@ -254,4 +254,4 @@ int main(int argc, char* argv[]) ``` A working example of a static config can be found -[here](../../../iceoryx_examples/iceperf/roudi_main_static_config.cpp). +[here](https://github.com/eclipse-iceoryx/iceoryx/blob/v3.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 2cbb1f128a..7cb378190d 100644 --- a/doc/website/advanced/installation-guide-for-contributors.md +++ b/doc/website/advanced/installation-guide-for-contributors.md @@ -1,6 +1,6 @@ # Installation guide for contributors -## Build and run tests +## :material-test-tube: Build and run tests While developing on iceoryx, you may want to know if your changes will break existing functionality or if your newly written tests will pass. For that purpose, we generate CMake targets that execute the tests. First, @@ -55,7 +55,7 @@ Let's assume you want to execute only `ServiceDescription_test` from posh_module While writing code on iceoryx you should use git hooks that automatically ensure that you follow the coding and style guidelines. See [`git-hooks`](../../../tools/git-hooks/Readme.md). -## Use Sanitizer Scan +## :fontawesome-solid-pump-soap: Use Sanitizer Scan Due to the fact that iceoryx works a lot with system memory, it should be ensured that errors like memory leaks are not introduced. To prevent this, we use the clang toolchain which offers several tools for scanning the codebase. One of them is the diff --git a/doc/website/concepts/architecture.md b/doc/website/concepts/architecture.md index 641e4fb45f..a43674412f 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](../../../iceoryx_hoofs/README.md). +For more information about the components, refer to its [detailed description](../advanced/iceoryx_hoofs.md). ### iceoryx posh 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 e52e08b1d2..02bb1a4ea0 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 @@ -69,7 +69,7 @@ result = iox::nullopt; ``` For a complete list of available functions see -[`optional.hpp`](../../../iceoryx_hoofs/vocabulary/include/iox/optional.hpp). +[`optional.hpp`](https://github.com/eclipse-iceoryx/iceoryx/blob/v3.0.0/iceoryx_hoofs/vocabulary/include/iox/optional.hpp). ## Expected @@ -80,7 +80,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](../../design/error-handling.md). +[error-handling.md](https://github.com/eclipse-iceoryx/iceoryx/blob/v3.0.0/doc/design/error-handling.md). Assume we have `E` as an error type, then we can create a value @@ -121,7 +121,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`](../../../iceoryx_hoofs/vocabulary/include/iox/expected.hpp). +[`expected.hpp`](https://github.com/eclipse-iceoryx/iceoryx/blob/v3.0.0/iceoryx_hoofs/vocabulary/include/iox/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::expected` as in diff --git a/doc/website/concepts/qos-policies.md b/doc/website/concepts/qos-policies.md index 3ddaaac011..e741465f24 100644 --- a/doc/website/concepts/qos-policies.md +++ b/doc/website/concepts/qos-policies.md @@ -54,7 +54,7 @@ The three most important settings are: 2. Multiple publishers after the publisher called `stopOffer()` or is removed The last n samples will never be received since they vanished. An arbitrary number of samples or nothing is received. - For more information about the options see the corresponding example [`iceoptions`](../../../iceoryx_examples/iceoptions/README.md). + For more information about the options see the corresponding example [`iceoptions`](../examples/iceoptions.md). !!! info If the `PublisherOptions::historyCapacity` is larger than `SubscriberOptions::queueCapacity` and blocking behaviour diff --git a/doc/website/getting-started/installation.md b/doc/website/getting-started/installation.md index 6431da0b1b..395bb394e8 100644 --- a/doc/website/getting-started/installation.md +++ b/doc/website/getting-started/installation.md @@ -4,7 +4,7 @@ All iceoryx libraries are deployed as independent CMake packages. Posh is using ## Prerequisites -### Dependencies +### :octicons-package-dependencies-16: Dependencies - 64-bit hardware (e.g. x86_64 or aarch64; 32-bit hardware works, but only as technology preview and not meant for production) - [CMake](https://cmake.org), 3.16 or later @@ -15,7 +15,7 @@ All iceoryx libraries are deployed as independent CMake packages. Posh is using - [libacl](http://download.savannah.gnu.org/releases/acl/), 2.2 or later. Only for Linux & QNX. - optional, [ncurses](https://invisible-island.net/ncurses/), 6.2 or later. Required by introspection tool (only for Linux, QNX and MacOS). -### Mac OS +### :material-apple: Mac OS Before installing iceoryx you need to install XCode and git. Optionally, ncurses library is required for the introspection client. To install ncurses locally into your build folder follow these steps @@ -33,7 +33,7 @@ make -j12 make install ``` -### Linux +### :fontawesome-brands-linux: Linux Although we strive to be fully POSIX-compliant, we recommend using Ubuntu 20.04 and at least GCC 8.3 for development. @@ -52,12 +52,12 @@ sudo apt install libacl1-dev:i386 libc6-dev-i386 libc6-dev-i386-cross libstdc++6 Additionally, there is an optional dependency to the [cpptoml](https://github.com/skystrife/cpptoml) library, which is used to parse the RouDi config file containing mempool configuration. -### QNX +### :fontawesome-brands-blackberry: QNX QNX SDP 7.1 is supported (shipping with 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](../../../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/v3.0.0/tools/toolchains/qnx)). ARM_64: @@ -74,7 +74,7 @@ X86_64: !!! attention Please ensure that the folder `/var/lock` exist and the filesystem supports file locking. -### Windows +### :octicons-package-dependencies-16: Windows In case you do not have a Windows installation, Microsoft provides free developer images from [here](https://developer.microsoft.com/en-us/windows/downloads/virtual-machines/). @@ -87,7 +87,7 @@ choco install -y cmake --installargs 'ADD_CMAKE_TO_PATH=System' ``` Additional packages can be found [here](https://community.chocolatey.org/packages). -#### Setup for MSVC +#### :material-microsoft-visual-studio: Setup for MSVC If the developer image from Microsoft is used, Visual Studio Community 2022 is already installed, else it can be found [here](https://visualstudio.microsoft.com/de/downloads/). @@ -100,7 +100,7 @@ Alternatively, `C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\VC !!! attention A Windows SDK Version of at least `10.0.18362.0` is required. -#### Setup for MinGW +#### :simple-mingww64: Setup for MinGW `MinGW` can also be used to build iceoryx on Windows. The easist way to do this is to use `chocolatey`. @@ -113,7 +113,7 @@ The `MinGW` library path needs to be added to the `Path` environment variable. $env:Path += 'C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin' ``` -## Build with CMake +## :material-triangle: Build with CMake !!! note Building with CMake is the preferred way, for more complex actions like a coverage scan @@ -181,10 +181,10 @@ 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](../../../iceoryx_meta/build_options.cmake) +Please take a look at the CMake file [build_options.cmake](https://github.com/eclipse-iceoryx/iceoryx/blob/v3.0.0/iceoryx_meta/build_options.cmake) to get an overview of the available build options for enabling additional features. -## Build with script +## :material-powershell: Build with script As an alternative, we provide a build-test script which we use to integrate iceoryx into our infrastructure. The intention of the script goes beyond building iceoryx, it is also used for the code coverage scan or the address-sanitizer runs on the CI. @@ -215,7 +215,7 @@ You can use the `help` argument for getting an overview of the available options !!! tip The examples can be built with `-DEXAMPLES=ON` with iceoryx_meta or by providing the `examples` argument to the build script. -## Build with colcon +## :material-robot: Build with colcon Alternatively, iceoryx can be built with [colcon](https://colcon.readthedocs.io/en/released/user/installation.html#using-debian-packages) to provide a smooth integration for ROS 2 developers. To build the iceoryx_integrationtest package one requires a minimal [ROS 2 installation](https://docs.ros.org/en/foxy/Installation/Linux-Install-Debians.html). @@ -246,7 +246,7 @@ colcon build This build method makes the most sense in combination with [rmw_iceoryx](https://github.com/ros2/rmw_iceoryx.git) -## Build with Bazel +## :simple-bazel: Build with Bazel A second option is to build iceoryx with [Bazel](https://bazel.build/) as an alternative build and test tool. In comparison to CMake it offers an easier syntax with better performance and a hermetic build mode for reproducible builds. diff --git a/doc/website/getting-started/overview.md b/doc/website/getting-started/overview.md index fcf959659b..f0c8fc7ca9 100644 --- a/doc/website/getting-started/overview.md +++ b/doc/website/getting-started/overview.md @@ -66,8 +66,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](../../../iceoryx_examples/waitset/README.md) or -the [Listener](../../../iceoryx_examples/callbacks/README.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](../examples/waitset.md) or +the [Listener](../examples/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) @@ -94,7 +94,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](../../../iceoryx_examples/README.md) you can find further examples +[Here](../examples/index.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. @@ -148,7 +148,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](../../shared-memory-communication.md). +[shared memory concept article](https://github.com/eclipse-iceoryx/iceoryx/blob/v3.0.0/doc/shared-memory-communication.md). ### Runtime @@ -235,7 +235,7 @@ to process local constructs, no dynamic allocators !!! info Most of the STL types cannot be used, but some are reimplemented to meet the conditions above. - You can find an overview [here](../../../iceoryx_hoofs/README.md#cxx). + You can find an overview [here](../advanced/iceoryx_hoofs.md#cxx). ### Publisher @@ -304,7 +304,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](../../../iceoryx_examples/waitset). +[WaitSet examples](../examples/waitset.md). ### Listener @@ -326,13 +326,13 @@ 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 example](../../../iceoryx_examples/callbacks). +[callbacks example](../examples/callbacks.md). ## API The API is offered in two languages, C++ and C. Detailed information can be found in the -[C++ example](../../../iceoryx_examples/icedelivery) and -[C example](../../../iceoryx_examples/icedelivery_in_c). +[C++ example](../examples/icedelivery.md) and +[C example](../examples/icedelivery_in_c.md). Many parts of the C++ API follow a functional programming approach which is less error-prone. This requires using the monadic types `iox::expected` and `iox::optional` which are introduced diff --git a/iceoryx_examples/callbacks/README.md b/iceoryx_examples/callbacks/README.md index 1fb3d025ea..b37d711fe6 100644 --- a/iceoryx_examples/callbacks/README.md +++ b/iceoryx_examples/callbacks/README.md @@ -223,7 +223,7 @@ You just have to provide a reference to a value as additional argument in the `a which is then provided as argument in your callback. One of the use cases is to get access to members and methods of an object inside a static method which we demonstrate here. -This example is identical to the [ice_callbacks_subscriber.cpp](#ice_callbacks_subscriber.cpp) +This example is identical to the [ice_callbacks_subscriber.cpp](#ice_callbacks_subscribercpp) one, except that we left out the cyclic heartbeat trigger. The key difference is that the listener is now a class member and in every callback we would like to change some member variables. For this we require an additional pointer to the object diff --git a/iceoryx_examples/callbacks_in_c/README.md b/iceoryx_examples/callbacks_in_c/README.md index c857c643d0..380a853e45 100644 --- a/iceoryx_examples/callbacks_in_c/README.md +++ b/iceoryx_examples/callbacks_in_c/README.md @@ -219,7 +219,7 @@ within the callback. To facilitate this we provide the functions called additional void pointer for the callback as second argument. The following example is a simplified version of the -[ice_c_callbacks_subscriber.c](#ice_c_callbacks_subscriber.c) example where we +[ice_c_callbacks_subscriber.c](#ice_c_callbacks_subscriberc) example where we removed the cyclic heartbeat trigger. The key difference is that we have a local variable called `counterService` in which we store the `leftCache` and `rightCache` and we let the callback update that variable directly. diff --git a/iceoryx_examples/complexdata/README.md b/iceoryx_examples/complexdata/README.md index 3a26bb8e6a..1eb540197c 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](../../doc/website/getting-started/overview.md#restrictions). Therefore, most of the STL types cannot be used, but we -reimplemented some [constructs](../../iceoryx_hoofs/README.md#cxx). This example shows how +[here](../getting-started/overview.md#restrictions). Therefore, most of the STL types cannot be used, but we +reimplemented some [constructs](../advanced/iceoryx_hoofs.md#cxx). This example shows how to send/receive a iox::vector and how to send/receive a complex data structure containing some of our STL container surrogates. ## Expected Output @@ -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](../../iceoryx_hoofs/README.md#cxx). +[here](../advanced/iceoryx_hoofs.md#cxx). ```cpp @@ -116,7 +116,7 @@ handleInsertionReturnVal(sample->optionalList.push_front(iox::nullopt)); !!! note If you're not familiar with `optional`, please have a look at - [How optional and error values are returned in iceoryx](../../doc/website/concepts/how-optional-and-error-values-are-returned-in-iceoryx.md#optional). + [How optional and error values are returned in iceoryx](../concepts/how-optional-and-error-values-are-returned-in-iceoryx.md#optional). Now we fill the stack diff --git a/iceoryx_examples/icecrystal/Readme.md b/iceoryx_examples/icecrystal/Readme.md index e318c0b272..1019ba8e02 100644 --- a/iceoryx_examples/icecrystal/Readme.md +++ b/iceoryx_examples/icecrystal/Readme.md @@ -17,7 +17,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/v3.0.0/tools/introspection). The introspection can be started with several command line arguments. diff --git a/iceoryx_examples/icedelivery_in_c/README.md b/iceoryx_examples/icedelivery_in_c/README.md index 811e6c3efa..dcbc339885 100644 --- a/iceoryx_examples/icedelivery_in_c/README.md +++ b/iceoryx_examples/icedelivery_in_c/README.md @@ -1,7 +1,7 @@ # icedelivery in C You can find a more detailed description of the C API in the -[iceoryx_binding_c README.md](../../iceoryx_binding_c/README.md). +[iceoryx_binding_c README.md](https://github.com/eclipse-iceoryx/iceoryx/blob/v3.0.0/iceoryx_binding_c/README.md). ## Introduction diff --git a/iceoryx_examples/icediscovery/README.md b/iceoryx_examples/icediscovery/README.md index eb9ecd405b..955905265a 100644 --- a/iceoryx_examples/icediscovery/README.md +++ b/iceoryx_examples/icediscovery/README.md @@ -49,7 +49,7 @@ It is included via: ``` On that object we can call the method `findService` which expects the three -service [string identifiers](../../doc/website/getting-started/overview.md#creating-service-descriptions-for-topics) +service [string identifiers](../getting-started/overview.md#creating-service-descriptions-for-topics) and a callable which will be applied to all matching services. In addition, we have to specify whether we want to search for publishers (`MessagingPattern::PUB_SUB`) used in publish-subscribe communication or servers (`MessagingPattern::REQ_RES`) used in diff --git a/iceoryx_examples/request_response_in_c/README.md b/iceoryx_examples/request_response_in_c/README.md index 3a1256e2c9..90f5e475b8 100644 --- a/iceoryx_examples/request_response_in_c/README.md +++ b/iceoryx_examples/request_response_in_c/README.md @@ -1,7 +1,7 @@ # Request response in C You can find a more detailed description of the C API in the -[iceoryx_binding_c README.md](../../iceoryx_binding_c/README.md). +[iceoryx_binding_c README.md](https://github.com/eclipse-iceoryx/iceoryx/blob/v3.0.0/iceoryx_binding_c/README.md). ## Introduction diff --git a/iceoryx_examples/small_memory/README.md b/iceoryx_examples/small_memory/README.md index ee8d1f7452..412d228c59 100644 --- a/iceoryx_examples/small_memory/README.md +++ b/iceoryx_examples/small_memory/README.md @@ -5,7 +5,7 @@ In some cases, it is needed to run iceoryx on systems with limited memory availability. For such cases, it is possible to configure the resource management limits as documented in the -[configuration guide](../../doc/website/advanced/configuration-guide.md). +[configuration guide](../advanced/configuration-guide.md). This configuration has two parts: * The resource limits set in cmake during configuration with options in the diff --git a/iceoryx_hoofs/README.md b/iceoryx_hoofs/README.md index 0a6a9bef49..c66dcaa57d 100644 --- a/iceoryx_hoofs/README.md +++ b/iceoryx_hoofs/README.md @@ -154,8 +154,8 @@ The module structure is a logical grouping. It is replicated for `concurrent` an ### Reporting (reporting) -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](../doc/design/error-handling.md) -For information about how to use the logger API see [error-handling.md](../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/v3.0.0/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/v3.0.0/doc/design/error-handling.md). | class | internal | description | |:-----------------------:|:--------:|:------------------------------------------------------------------------------------------------------------------------|