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

identify: add a sequence number to the Identify protobuf #502

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 16 additions & 2 deletions identify/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,19 @@

| Lifecycle Stage | Maturity Level | Status | Latest Revision |
|-----------------|----------------|--------|-----------------|
| 3A | Recommendation | Active | r1, 2021-08-09 |
| 3A | Recommendation | Active | r2, 2023-01-03 |

Authors: [@vyzo]

Interest Group: [@yusefnapora], [@tomaka], [@richardschneider], [@Stebalien], [@bigs]
Interest Group: [@yusefnapora], [@tomaka], [@richardschneider], [@Stebalien], [@bigs], [@marten-seemann]

[@vyzo]: https://github.com/vyzo
[@yusefnapora]: https://github.com/yusefnapora
[@tomaka]: https://github.com/tomaka
[@richardschneider]: https://github.com/richardschneider
[@Stebalien]: https://github.com/Stebalien
[@bigs]: https://github.com/bigs
[@marten-seemann]: https://github.com/marten-seemann

See the [lifecycle document][lifecycle-spec] for context about the maturity level
and spec status.
Expand All @@ -31,6 +32,7 @@ and spec status.
- [`identify`](#identify)
- [`identify/push`](#identifypush)
- [The Identify Message](#the-identify-message)
- [sequence](#sequence)
- [protocolVersion](#protocolversion)
- [agentVersion](#agentversion)
- [publicKey](#publickey)
Expand Down Expand Up @@ -74,6 +76,7 @@ whose values have changed.

```protobuf
message Identify {
optional uint64 sequence = 7;
optional string protocolVersion = 5;
optional string agentVersion = 6;
optional bytes publicKey = 1;
Expand All @@ -83,6 +86,17 @@ message Identify {
}
```

### sequence

A sequence number for this identify message used to deal with reordered Identify
messages. Senders SHOULD increment the sequence number for every Identify message
they send. After processing an Identify with a certain sequence number, receivers
MUST ignore all Identify messages with smaller sequence numbers.
marten-seemann marked this conversation as resolved.
Show resolved Hide resolved

To avoid persisting state across restarts, implementations MAY use unix
epoch time as the `seq` value, however receivers MUST NOT attempt to interpret the
sequence number value as a valid timestamp.

### protocolVersion

The protocol version identifies the family of protocols used by the peer. The
Expand Down