-
Notifications
You must be signed in to change notification settings - Fork 225
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 docs for the amazon event stream format #2510
base: main
Are you sure you want to change the base?
Conversation
Documentation Check is failing!? |
This adds documentation for the `application/vnd.amazon.eventstream` wire format as well as the common protocol semanitcs that are layered on top of it. It does NOT provide tests. Event stream protocol tests are in the works, but are not yet available.
a920859
to
d39c2d8
Compare
This specification describes the ``application/vnd.amazon.eventstream`` | ||
:ref:`event stream <event-streams>` encoding, a generic data encoding designed | ||
to support bidirectional datagram-oriented communication on top of an existing, | ||
reliable, stream-oriented protocol. This is the encoding used by AWS services, |
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.
reliable, stream-oriented protocol. This is the encoding used by AWS services, | |
stream-oriented protocol. This is the encoding used by AWS services, |
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.
Why remove this? Reliability is important because these are intended to be sent in sequence. In fact, event signing relies on you chaining signatures. (I've not included signing here yet)
extended to support them: | ||
|
||
* Message fragmentation, or streaming a single payload as multiple messages. | ||
* Relaying events over an unordered, unreliable transport such as UDP. |
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.
* Relaying events over an unordered, unreliable transport such as UDP. | |
* Relaying events over an unordered transport such as UDP. |
This adds more narrative information about amazon event stream header layouts, including a diagram taken from Transcribe's docs.
sections: the prelude and the data. The prelude section contains a 4-byte | ||
unsigned integer representing the total length of the message and a four-byte |
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.
sections: the prelude and the data. The prelude section contains a 4-byte | |
unsigned integer representing the total length of the message and a four-byte | |
sections: the prelude and the data. The prelude section contains a four-byte | |
unsigned integer representing the total length of the message and a four-byte |
|
||
On the wire, each header begins with a one-byte unsigned integer that indicates | ||
the number of UTF-8 encoded bytes used by the header's name. Header names MUST | ||
be at least one byte long. This length prefix if followed by the UTF-8 header |
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.
be at least one byte long. This length prefix if followed by the UTF-8 header | |
be at least one byte long. This length prefix is followed by the UTF-8 header |
be at least one byte long. This length prefix if followed by the UTF-8 header | ||
name. | ||
|
||
The name of the header is followed by a one-byte unsigned integer representing |
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.
The name of the header is followed by a one-byte unsigned integer representing | |
The name of the header is followed by a one-byte unsigned integer indicating |
Sync with "indicator" used below.
This adds documentation for the
application/vnd.amazon.eventstream
wire format as well as the common protocol semanitcs that are layered on top of it.It does NOT provide tests. Event stream protocol tests are in the works, but are not yet available.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.