Skip to content

Commit

Permalink
iox-#743 Update iceoryx users in docs
Browse files Browse the repository at this point in the history
Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
  • Loading branch information
mossmaurice committed Feb 18, 2022
1 parent 3fc48d6 commit 01ccc13
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 14 deletions.
16 changes: 8 additions & 8 deletions doc/design/request_response_communication.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,28 +46,28 @@ The `Client` and `Server` are reusing the `ChunkSender` and `ChunkReceiver` buil

#### Typed API

![typed API](typed_api.svg)
![typed API](../website/images/typed_api.svg)

Since the `Response` is tied to a specific `Request`, the `loan` method takes a `Request` to populate the `Response` with the correct settings.
Alternatively, a `Request` could have a `createResponse` method which returns a `Response` with the correct settings.

#### Untyped API

![untyped API](untyped_api.svg)
![untyped API](../website/images/untyped_api.svg)

Similar to the the typed API, `loan` takes a pointer to a `RequestHeader` to populate the `ResponseHeader` with the correct settings.

#### Client Port

![client port](client_port.svg)
![client port](../website/images/client_port.svg)

The `ClientPortData` is located in the shared memory and contain only the data but no methods to access them.
`ClientPortUser` is the class providing the methods for the user access and `ClientPortRouDi` provides the
interface RouDi needs to connect the client to the server and to cleanup the port resources.

#### Server Port

![server port](server_port.svg)
![server port](../website/images/server_port.svg)

Similar to the Client Port, the Server Port has `ServerPortData` which is located in the shared memory and contain only the data but no methods to access them.
`ServerPortUser` is the class providing the methods for the user access and `ServerPortRouDi` provides the
Expand All @@ -77,7 +77,7 @@ It must be ensured that only one server with a given `ServiceDescription` can ru

#### Request/Response Header

![rpc header](request_response_header.svg)
![rpc header](../website/images/request_response_header.svg)

Since request and response need to encode different meta-information, we also need different header for the messages.
The common data is aggregated in `RpcBaseHeader` which contains a `cxx::UniqueId` to the `ClientChunkQueueData_t` and a sequence ID.
Expand All @@ -101,7 +101,7 @@ The `RequestHeader` has also the option to specify a message as fire and forget,
#### Client/Server Options
![client and server options](client_and_server_options.svg)
![client and server options](../website/images/client_and_server_options.svg)
The client and server options can be used to control certain aspects of the clients and servers.
Beside setting the capacity of the queues and defining whether a client should be connected and a server offering on creation,
Expand All @@ -114,14 +114,14 @@ If the options don't match, the client will not be connected to the server, simi
The client is guided by the following state machine.
![client state machine](client_state_machine.svg)
![client state machine](../website/images/client_state_machine.svg)
Similar to the subscriber state machine, the client passes it's response queue with the `CONNECT` CaPro message to the server.
The server will pass its request queue with the `ACK` CaPro message to the client.
Following is a sequence diagram which shows all this cases
![client and server service discovery](client_and_server_service_discovery.svg)
![client and server service discovery](../website/images/client_and_server_service_discovery.svg)
### Code example
Expand Down
10 changes: 5 additions & 5 deletions doc/design/service-discovery.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,9 +128,9 @@ Contra:
* Built-in topic approach based on `InterfacePort`'s
* Sniff and intercept `CaproMessage`

![overview diagram](overview-alternative-b.svg)
![overview diagram](../website/images/overview-alternative-b.svg)

![sequence diagram](sequence-diagram-alternative-b.svg)
![sequence diagram](../website/images/sequence-diagram-alternative-b.svg)

Pro:

Expand Down Expand Up @@ -172,9 +172,9 @@ Create a new publisher in RouDi which sends a `ServiceRegistryTopic`. This publi
change in the service registry and to transmit the service discovery registry. The complete old service registry
(saved locally) would be compared to the new service registry in a new class, extending the public user API.

![overview diagram](overview-alternative-d.svg)
![overview diagram](../website/images/overview-alternative-d.svg)

![sequence diagram](sequence-diagram-alternative-d.svg)
![sequence diagram](../website/images/sequence-diagram-alternative-d.svg)

Pro:

Expand Down Expand Up @@ -416,5 +416,5 @@ PoshRuntime::findService(const capro::ServiceDescription& serviceDescription) no
* [x] How does the SOME/IP-SD service discovery API look like?
* [x] What does a `ros topic list` do in rmw_iceoryx?
* [ ] Filter for `ServiceDescription::EventString` needed by AUTOSAR? Not supported by `ServiceRegistry::find()` as of today
* [ ] Decision on mapping table between iceory and DDS (see [Overview](overview.md))
* [ ] Decision on mapping table between iceory and DDS (see [Overview](../website/getting-started/overview.md))
* [ ] Current mapping table between iceoryx and DDS does not work with service discovery
2 changes: 1 addition & 1 deletion doc/website/getting-started/what-is-iceoryx.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ That iceoryx has the right set of features can be seen from the already existing
frameworks such as [Eclipse Cyclone DDS](https://github.com/eclipse-cyclonedds/cyclonedds),
[eCAL from Continental](https://continental.github.io/ecal/),
[RTA-VRTE from ETAS](https://www.etas.com/en/products/rta-vrte.php) and
[Apex.OS from Apex.AI](https://www.apex.ai/apex-os).
[Apex.Middleware from Apex.AI](https://www.apex.ai/apex-middleware).

## Dependable

Expand Down

0 comments on commit 01ccc13

Please sign in to comment.