-
Notifications
You must be signed in to change notification settings - Fork 23
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 connection spec draft #247
Conversation
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.
bunch of comments, great to see this doc being made!
spec/connection.md
Outdated
|
||
### Error Handling (TODO) | ||
|
||
Server can respond with `Authorization Error`. |
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.
discuss the specific way in which this is handled - if it terminates retries or not
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.
Some typos, etc.. but overall a good start. The section specific to "TLS first" looks good to me.
spec/connection.md
Outdated
### Servers discovery | ||
|
||
When Server sends back [INFO][INFO]. It may contain additional URLs to which the client can make connection attempts. | ||
The client should store those URLs and use them in the Reconnection Strategy. |
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.
True, but again only if clients are sending "protocol: 1" (or above) in the CONNECT protocol.
@kozlovic addressed / responded to all comments. Thanks for a thorough review! |
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.
Sorry, I was not subscribed and did not receive notifications that the PR was updated. LGTM!
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.
some more comments
spec/connection.md
Outdated
|
||
|Revision|Date|Author|Info| | ||
|--------|----|------|----| | ||
|1 |2023-10-12|@author|Initial draft| |
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.
formatting and extra spaces here, @author
is also wrong
spec/connection.md
Outdated
|
||
When the client detects disconnection, it starts to reconnect attempts with the following rules: | ||
1. Immediate reconnect attempt | ||
The client attempts to reconnect immediately after finding out it has been disconnected. |
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.
Should this really be 2 lines? Or maybe a leading -
is missing looking at other lines here
adr/ADR-40.md
Outdated
| Date | 2023-10-12 | | ||
| Author | @Jarema | | ||
| Status | Implemented | | ||
| Tags | spec | |
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.
I'd keep the client, server
here, so it shows up in those sections also for people to find. It's not just a spec, its related to multiple things?
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.
Think you should also run go run main.go > README.md
Signed-off-by: Tomasz Pietrek <[email protected]>
Signed-off-by: Tomasz Pietrek <[email protected]>
Signed-off-by: Tomasz Pietrek <[email protected]>
Signed-off-by: Tomasz Pietrek <[email protected]>
Signed-off-by: Tomasz Pietrek <[email protected]>
Signed-off-by: Tomasz Pietrek <[email protected]>
Signed-off-by: Tomasz Pietrek <[email protected]>
Signed-off-by: Tomasz Pietrek <[email protected]>
Signed-off-by: Tomasz Pietrek <[email protected]>
Signed-off-by: Tomasz Pietrek <[email protected]>
Signed-off-by: Tomasz Pietrek <[email protected]>
Signed-off-by: Tomasz Pietrek <[email protected]>
Signed-off-by: Tomasz Pietrek <[email protected]>
Signed-off-by: Tomasz Pietrek <[email protected]>
Signed-off-by: Tomasz Pietrek <[email protected]>
Signed-off-by: Tomasz Pietrek <[email protected]>
Signed-off-by: Tomasz Pietrek <[email protected]>
2bc5792
to
1ff325c
Compare
Signed-off-by: Tomasz Pietrek <[email protected]>
Signed-off-by: Tomasz Pietrek <[email protected]>
README.md
Outdated
|[ADR-8](adr/ADR-8.md)|jetstream, client, kv, spec|JetStream based Key-Value Stores| | ||
|[ADR-32](adr/ADR-32.md)|client, spec|Service API| | ||
|[ADR-37](adr/ADR-37.md)|jetstream, client, spec|JetStream Simplification| | ||
|[ADR-40](adr/ADR-40.md)|spec|NATS Connection| |
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.
nice
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.
LGTM
wow ADR-40 is a really valuable addition! if I may chip in with 5c : it would be nice to describe how NATS "Core" requests and higher-level functions like JS
I managed to find out some of this info from nats.go unit tests, but not everything... so ended up writing my own summary :D |
This PR uses the more holistic approach to describe NATS features and server-client interactions.
It is not complete description for Connection, rather a work in progress, focused on
tls_first
, as this needed spec.Signed-off-by: Tomasz Pietrek [email protected]