Skip to content
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

Add architecture and sequence diagrams #328

Merged
merged 2 commits into from
Jun 25, 2024
Merged

Add architecture and sequence diagrams #328

merged 2 commits into from
Jun 25, 2024

Conversation

cam-schultz
Copy link
Collaborator

Why this should be merged

Adds architecture and sequence diagrams pertaining to online message relaying. Does not cover the catch up mechanism or manual Warp messages for simplicity.

How this works

How this was tested

How is this documented

Adds mermaid diagrams

Copy link
Contributor

@bernard-avalabs bernard-avalabs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The sequence diagram is very helpful. I left a comment about one of the transitions.

docs/sequence.md Outdated Show resolved Hide resolved
Copy link
Contributor

@bernard-avalabs bernard-avalabs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally makes sense to me. I left a comment about one of the composition links in the UML diagram. I don't draw/read UML diagrams that often, so perhaps my question would be obvious to someone else who does.

```mermaid
classDiagram
Listener o-- "per RelayerID" ApplicationRelayer
Listener *-- "1" Subscriber
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does the "1" represent here in the composition link?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's meant to represent the number of objects per composition. So an individual Listener has one ApplicationRelayer per RelayerID, and a single Subscriber.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For clarity, the same notation applies to compositions as well as aggregations. In the above example, Listeners aggregate ApplicationRelayers

Copy link
Contributor

@iansuvak iansuvak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM and thanks for making this. This is very helpful to have while studying the codebase

@cam-schultz cam-schultz merged commit 0479088 into main Jun 25, 2024
7 checks passed
@cam-schultz cam-schultz deleted the diagrams branch June 25, 2024 21:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

4 participants