-
Notifications
You must be signed in to change notification settings - Fork 429
Iox #27 client port implementation and test part 2 #863
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
elBoberido
merged 31 commits into
eclipse-iceoryx:master
from
ApexAI:iox-#27-client-port-implementation-and-test-part-2
Jul 26, 2021
Merged
Changes from all commits
Commits
Show all changes
31 commits
Select commit
Hold shift + click to select a range
3140e35
iox-#27 Add UML documentation for client and server service discovery
elBoberido 07c0aa9
iox-#27 Add CaPro messages for request-response
elBoberido d5d666f
iox-#27 Implement ClientPortRouDi
elBoberido 3e0a2f0
iox-#27 Use reference instead of not_null and update documentation
elBoberido d16c368
iox-#27 Test setup and initial tests for client port
elBoberido ed4c7a9
iox-#27 Fix typo and add U suffix
elBoberido 23b1188
iox-#27 Add skeletons for ClientPortUserTests
elBoberido d1e8770
iox-#27 Simplify the service discovery for the client
elBoberido 41ba185
iox-#27 Adjust client state machine according to new design
elBoberido 26c3695
iox-#27 Make it more conveniet to output a CaproMessageType as string
elBoberido de1efff
iox-#27 Make it more conveniet to output a ConnectionState as string
elBoberido 2c54884
iox-#27 Add missing return in switch
elBoberido a2d4b10
iox-#27 Make a bunch of tests pass
elBoberido 2c21ef3
iox-#27 Make another bunch of tests pass
elBoberido eeebd96
iox-#27 Make condition variable related tests work
elBoberido 242dfca
iox-#27 Finish ClientPortUser tests
elBoberido e6ef2fe
iox-#27 Rework ClientPortUser death test
elBoberido 9516bfc
iox-#27 Implement stream operator for Error enum
elBoberido 818a4a5
iox-#27 Check for nullptr access
elBoberido 20e34c9
iox-#27 Fix build for ubuntu 16.04
elBoberido 58b1474
iox-#27 Update copyright
elBoberido 9317487
iox-#27 Code reuse in tests
elBoberido a2e43ba
iox-#27 Put all port related classes into a common struct
elBoberido c3710a1
iox-#27 Initial ClientPortRouDi tests
elBoberido 86d7010
iox-#27 Add note regargint ClientPort thread safety
elBoberido 64107a1
iox-#27 Add test for valid state transitions
elBoberido 91db7a4
iox-#27 Add test for invalid state transitions
elBoberido 5b0cd5b
iox-#27 Add option to set the LogLevel for the current scope
elBoberido 44d3f64
iox-#27 Turn off logger for tests with invalid transitions
elBoberido 2af5101
iox-#27 Fix typo
elBoberido 41885ec
iox-#27 Fix typo and update copyright
elBoberido File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
65 changes: 65 additions & 0 deletions
65
doc/design/diagrams/request_response/client_and_server_service_discovery.puml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
@startuml | ||
|
||
== Client tries to connect (Server not present) == | ||
|
||
PortManager -> ClientPortRouDi ++ : tryGetCaProMessage | ||
return CaproMessageType::CONNECT | ||
|
||
PortManager -> PortManager ++ : sendToAllMatchingServerPorts | ||
|
||
PortManager -> ClientPortRouDi ++ : dispatchCaProMessageAndGetPossibleResponse(CaproMessageType::NACK) | ||
return cxx::nullopt | ||
|
||
return | ||
|
||
... | ||
|
||
== Server offers service (Client not present) == | ||
|
||
PortManager -> ServerPortRouDi ++ : tryGetCaProMessage | ||
return CaproMessageType::OFFER | ||
|
||
PortManager -> PortManager ++ : sendToAllMatchingClientPorts | ||
|
||
return | ||
|
||
... | ||
|
||
== Client tries to connect (Server present) == | ||
|
||
PortManager -> ClientPortRouDi ++ : tryGetCaProMessage | ||
return CaproMessageType::CONNECT | ||
|
||
PortManager -> PortManager ++ : sendToAllMatchingServerPorts | ||
|
||
PortManager -> ServerPortRouDi ++ : dispatchCaProMessageAndGetPossibleResponse(CaproMessageType::CONNECT) | ||
return CaproMessageType::ACK | ||
|
||
PortManager -> ClientPortRouDi ++ : dispatchCaProMessageAndGetPossibleResponse(CaproMessageType::ACK) | ||
return cxx::nullopt | ||
|
||
return | ||
|
||
... | ||
|
||
== Server offers service (Client present) == | ||
|
||
PortManager -> ServerPortRouDi ++ : tryGetCaProMessage | ||
return CaproMessageType::OFFER | ||
|
||
PortManager -> PortManager ++ : sendToAllMatchingClientPorts | ||
|
||
PortManager -> ClientPortRouDi ++ : dispatchCaProMessageAndGetPossibleResponse(CaproMessageType::OFFER) | ||
return CaproMessageType::CONNECT | ||
|
||
PortManager -> ServerPortRouDi ++ : dispatchCaProMessageAndGetPossibleResponse(CaproMessageType::CONNECT) | ||
return CaproMessageType::ACK | ||
|
||
PortManager -> ClientPortRouDi ++ : dispatchCaProMessageAndGetPossibleResponse(CaproMessageType::ACK) | ||
return cxx::nullopt | ||
|
||
return | ||
|
||
... | ||
|
||
@enduml |
1 change: 1 addition & 0 deletions
1
doc/design/diagrams/request_response/client_and_server_service_discovery.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 23 additions & 0 deletions
23
doc/design/diagrams/request_response/client_state_machine.puml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
@startuml | ||
|
||
[*] -down-> NOT_CONNECTED | ||
|
||
NOT_CONNECTED -down-> CONNECT_REQUESTED : CONNECT | ||
NOT_CONNECTED -right-> NOT_CONNECTED : OFFER | ||
|
||
CONNECT_REQUESTED -down-> CONNECTED : ACK | ||
CONNECT_REQUESTED -right-> WAIT_FOR_OFFER : NACK | ||
CONNECT_REQUESTED : entry / CONNECT with response queue for server | ||
|
||
WAIT_FOR_OFFER -left-> CONNECT_REQUESTED : OFFER | ||
WAIT_FOR_OFFER -up-> NOT_CONNECTED : DISCONNECT | ||
|
||
CONNECTED -up-> WAIT_FOR_OFFER : STOP_OFFER | ||
CONNECTED -up-> DISCONNECT_REQUESTED : DISCONNECT | ||
CONNECTED : entry / store received request queue | ||
CONNECTED : exit / remove request queue | ||
|
||
DISCONNECT_REQUESTED -up-> NOT_CONNECTED : ACK/NACK | ||
DISCONNECT_REQUESTED : entry / DISCONNECT with response queue for server | ||
|
||
@enduml |
11 changes: 11 additions & 0 deletions
11
doc/design/diagrams/request_response/client_state_machine.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To view this with rendered diagrams use the three dots on the right and select
View file