Daniel, Thank you for bringing this to the community! I have created a PIP for your proposal: https://github.com/apache/pulsar/wiki/PIP-53:-Contribute-DotPulsar-to-Apache-Pulsar
I am really excited to see Danske Commodities is interested in contributing its .NET pulsar client back to the community. I took a brief look at your codebase. It seems to me the dependencies are pretty clear and compatible with ASF policy. +1 from my side. I'd happy to help you through the donation process. Thanks, Sijie On Fri, Dec 20, 2019 at 7:32 PM Daniel Blankensteiner < d...@danskecommodities.com> wrote: > Ah, gotta love trendmicro... sorry about that, but looks like the links > still work. > > Best regards, > DANIEL BLANKENSTEINER > > Software Architect > IT > > M: +45 2777 6217 > d...@danskecommodities.com > www.danskecommodities.com > > > -----Original Message----- > From: Daniel Blankensteiner <d...@danskecommodities.com> > Sent: 20. december 2019 12:28 > To: 'dev@pulsar.apache.org' <dev@pulsar.apache.org> > Subject: [DISCUSS] Contribute DotPulsar to Apache Pulsar > > Hi all > > At [Danske Commodities A/S]( > https://hes32-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fdanske%2dcommodities%2fdotpulsar%2fwiki%23who%2dwe%2dare&umid=466cd11a-9cae-4ccd-a103-c3f31a23fd5c&auth=c95a9f4c5451d3482f6dd990ffa1a166dbd36014-a22b6704f951f749bae0dcf0230d1d5de3eeb74d) > we have developed a Pulsar client library for .NET - DotPulsar. > The repository is here: > https://hes32-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fdanske%2dcommodities%2fdotpulsar&umid=466cd11a-9cae-4ccd-a103-c3f31a23fd5c&auth=c95a9f4c5451d3482f6dd990ffa1a166dbd36014-b4f9427764de557cdddb57fad5b141685757132d > and the NuGet package is here: https://www.nuget.org/packages/DotPulsar/ > We would like to contribute the project back to the Pulsar community. > > --- > > # Motivation > > 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. > > # Features > > 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]( > https://hes32-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fdanske%2dcommodities%2fdotpulsar%2fwiki%2fClient%23tls%2dconnection&umid=466cd11a-9cae-4ccd-a103-c3f31a23fd5c&auth=c95a9f4c5451d3482f6dd990ffa1a166dbd36014-3cd5126c6a7870c5ce8d57b3abd1df0fb7b98c5e > ) > - [TLS Authentication]( > https://hes32-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fdanske%2dcommodities%2fdotpulsar%2fwiki%2fClient%23tls%2dauthentication&umid=466cd11a-9cae-4ccd-a103-c3f31a23fd5c&auth=c95a9f4c5451d3482f6dd990ffa1a166dbd36014-41c2742f48c96e1458ae2b905389fc3ad995711f > ) > - [JSON Web Token Authentication]( > https://hes32-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fdanske%2dcommodities%2fdotpulsar%2fwiki%2fClient%23json%2dweb%2dtoken%2dauthentication&umid=466cd11a-9cae-4ccd-a103-c3f31a23fd5c&auth=c95a9f4c5451d3482f6dd990ffa1a166dbd36014-980a1c8c2cd03abe5b3df708019fdc2cb0adb93c > ) > - [Producing message with/without metadata]( > https://hes32-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fdanske%2dcommodities%2fdotpulsar%2fwiki%2fProducer&umid=466cd11a-9cae-4ccd-a103-c3f31a23fd5c&auth=c95a9f4c5451d3482f6dd990ffa1a166dbd36014-22a97cd36863f31df9ce329ebe6cc06849489647 > ) > - [Consuming messages using all subscription types and seeking]( > https://hes32-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fdanske%2dcommodities%2fdotpulsar%2fwiki%2fConsumer&umid=466cd11a-9cae-4ccd-a103-c3f31a23fd5c&auth=c95a9f4c5451d3482f6dd990ffa1a166dbd36014-ca4a3649a45a22dc3bb56a84f7b37edea9282010 > ) > - [Reading messages]( > https://hes32-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2fgithub.com%2fdanske%2dcommodities%2fdotpulsar%2fwiki%2fReader&umid=466cd11a-9cae-4ccd-a103-c3f31a23fd5c&auth=c95a9f4c5451d3482f6dd990ffa1a166dbd36014-96ff421d363c9ffcba59da76bb708b9ab27eb75c > ) > - Read/Consume/Acknowledge batched messages (but currently not producing > batched messages) > > # Licenses > > 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). > > ## System.IO.Pipelines, Microsoft.Bcl.AsyncInterfaces and > Microsoft.Bcl.HashCode > > Developed by Microsoft and under the MIT license. > > ## Protobuf-net > > Developed by Marc Gravell and under the Apache License Version 2.0. > > We are looking forward to any feedback. > > Best regards, > DANIEL BLANKENSTEINER > > Software Architect > IT > > M: +45 2777 6217 > d...@danskecommodities.com > www.danskecommodities.com > >