-
Notifications
You must be signed in to change notification settings - Fork 3.6k
PIP 53: Contribute DotPulsar to Apache Pulsar
- Status: Proposed
- Author: Daniel Blankensteiner
- Pull Request:
- Mailing List discussion: https://lists.apache.org/thread.html/8ebe35027d818e595eec322da26a3f392324ec3d86c4c1b12b1ff498%40%3Cdev.pulsar.apache.org%3E
- Release:
At Danske Commodities A/S we have developed a Pulsar client library for .NET - DotPulsar. The repository is here: https://github.com/danske-commodities/dotpulsar and the NuGet package is here: https://www.nuget.org/packages/DotPulsar/ We would like to contribute the project back to the Pulsar community.
Currently, there are no official client libraries for .NET. Therefore we have written one entirely in C# (implementing the binary protocol), using the latest constructs like IAsyncDisposable, IAsyncEnumerable, ValueTask, nullable, pipelines and ReadOnlyMemory/ReadOnlySequence, for optimal developer experience and performance.
DotPulsar is by no means feature complete, but the basic use cases (for Danske Commodities A/S) are supported.
- Service discovery (LOOKUP)
- Automatic reconnect/retry
- TLS connections
- TLS Authentication
- JSON Web Token Authentication
- Producing message with/without metadata
- Consuming messages using all subscription types and seeking
- Reading messages
- Read/Consume/Acknowledge batched messages (but currently not producing batched messages)
DotPulsar is under the Apache License Version 2.0 and only has two dependencies for the .NET Standard 2.1 version and four dependencies for the .NET Standard 2.0 version (which can be used from .NET Framework clients).
Developed by Microsoft and under the MIT license.
Developed by Marc Gravell and under the Apache License Version 2.0.
We are looking forward to any feedback.