-
Notifications
You must be signed in to change notification settings - Fork 235
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
Implementing Event Hubs SDK over AMQP 1.0 #1260
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Adding type alias
Removing internal buffer
Merge removal of internal buffer
Breaking changes for "0.15.0"
Hi @minghuaw, Those of us volunteering on this project really like seeing this work. However, for now, I think it is best suited in an another repository. |
This was referenced Sep 28, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is the initial attempt at implementing the EventHubs sdk over AMQP 1.0 protocol in rust. The overall approach is very similar to the Service Bus over AMQP PR (#1185), which essentially follow what the dotnet SDK does. There is one minor distinction though, which is that all public methods that returns a
Result
try to useazure_core::Error
instead of custom enums. This minor distinction will be adopted by #1185 later.Scope
What has been implemented in this PR
Not all features are implemented. Below is a list of the features that are included in this PR.
Feature checklist (this will be updated over time):
EventHubConnection
EventHubProducerClient
send_idempotent
This is NOT implemented because (1) the underlying AMQP 1.0 sender already takes care of keeping track of unsettled deliveries (2) the current design take the ownership of event/message, making storing things like
pending_sequence_no
uselessEventBatch
EventHubConsumerClient
Closing the AMQP receivers currently uses a temporary workaround which simply drops all receivers and their sessions. The workaround is acceptable because the internal states of AMQP
Sender
andSession
(notSender
itself but its inner state) implements theDrop
trait which performs proper exchange ofDetach
/End
frames upon dropping.Stream
PartitionReceiver
What will be implemented in future PRs?
EventHubBufferedProducerClient
EventHubProcessor
CheckpointStore
andBlobCheckpointStore
wasm32
targets