👍, Great work. On Wed, Aug 1, 2018 at 7:43 AM, Adam Williams <pwnfact...@gmail.com> wrote:
> > the starting point would be making the interface consistent across these > two clients > > I agree this is a good goal and understand the desire for consistency, > although I'm not sure that 100% parity would make sense given the > current interface. Definitely naming can be changed to match the cgo > client whenever possible, eg Client.NewProducer vs > Client.CreateProducer (note that the C++ and Java clients differ > here). Some things though may not translate nicely into the native Go > client, such as ClientOptions.IOThreads, since Go does not directly > expose OS threads. And then there are design decisions that would be > worth discussing, such as having a global client timeout for certain > operations (ClientOptions.OperationTimeoutSeconds) versus using > context.Context for operation cancelation/timeouts at the method > level. > > Maybe there can be a more minimal interface both clients satisfy while > allowing each to provide custom functionalities? Another goal worth > considering is consistent behavior between this client and the others > (Java, C++). > > > > > > On Mon, Jul 30, 2018 at 7:19 PM Sijie Guo <guosi...@gmail.com> wrote: > > > > Awesome work, Adam! It is really great to see a native go client under > > development. It will be interesting to discuss a plan how to consolidate > > the native go client and cgo client. probably one of the starting point > > would be making the interface consistent across these two clients. > > > > - Sijie > > > > > > On Mon, Jul 30, 2018 at 2:44 PM Adam Williams <pwnfact...@gmail.com> > wrote: > > > > > Hello, > > > > > > I'd like to announce a newly released Go client library for Pulsar: > > > https://github.com/Comcast/pulsar-client-go. > > > > > > The client follows semantic versioning and as of today is tagged at > > > v0.1.0. This indicates that it is unstable and that breaking changes > are > > > allowed (up until the v1.x release) and should be expected. > > > > > > There is already a Go client included in the official Pulsar repository > > > (under /pulsar-client-go directory). It is a wrapper around the C++ > > > library. As such, cgo must be used when compiling. In contrast, this > newly > > > released client is 100% Go. This is the main reason it was open > sourced, as > > > we hope a 100% Go client will be a valuable addition to the Pulsar > > > ecosystem since it avoids the complications associated with wrapping a > C++ > > > library. > > > > > > We'd like to invite collaborators to help with the development of this > > > library. The README lists steps to start contributing, goals, and also > some > > > of the major known deficiencies of the library. In addition to this > mailing > > > list, we propose that Github issues be used to coordinate efforts and > track > > > bugs and feature development. > > > > > > We hope this contribution is an additive one and look forward to > working > > > with the community to bring it up to par with the other client > libraries. > > > >