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 docs for the amazon event stream format #2510

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

JordonPhillips
Copy link
Contributor

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.

@JordonPhillips JordonPhillips requested a review from a team as a code owner February 6, 2025 16:40
@yasmewad
Copy link
Contributor

yasmewad commented Feb 6, 2025

Documentation Check is failing!?
/home/runner/work/smithy/smithy/docs/source-2.0/aws/amazon-eventstream.rst:50: WARNING: undefined label: '_amazon-eventstream-headers-format'

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.
@JordonPhillips JordonPhillips force-pushed the aws-event-stream-wire-format branch from a920859 to d39c2d8 Compare February 6, 2025 16:54
docs/source-2.0/aws/amazon-eventstream.rst Outdated Show resolved Hide resolved
docs/source-2.0/aws/amazon-eventstream.rst Outdated Show resolved Hide resolved
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,
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
reliable, stream-oriented protocol. This is the encoding used by AWS services,
stream-oriented protocol. This is the encoding used by AWS services,

Copy link
Contributor Author

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.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
* Relaying events over an unordered, unreliable transport such as UDP.
* Relaying events over an unordered transport such as UDP.

docs/source-2.0/aws/amazon-eventstream.rst Outdated Show resolved Hide resolved

The ``application/vnd.amazon.eventstream`` wire format is a generic encoding.
There are additional semantic requirements when using this format with AWS
protocols. Events are categorized into one of five categories: message events,
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggestion: break out into list with links and abbreviated description.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The list is the sections below

This adds more narrative information about amazon event stream header
layouts, including a diagram taken from Transcribe's docs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants