I'd like to write an EventStore Haskell TCP client, where should I start ?

It was on my side, I encoded length header in Big endian when sending data to the server.

At the end, Heartbeart communication is working and I able to maintain a single a connection (W00t :-)). I also handle reconnection (keep reconnecting unless user ask to shutdown).

I pushed my code on Github. Of course, everybody is welcomed to contribute. It’s under BSD3 License. I’m planning on having basic write features this week.

Cheers,

Yorick

Great project! Looks like a good way to learn some practical Haskell as well!

Feel free to ping the list if you have protocol questions etc and one of us will try to help as much as possible.

James

@James might it be worth creating an event-store-dev group for these
kinds of questions eg user vs dev? I'm fine with leaving them here but
I imagine there may be some people who would prefer to only be on that
list as opposed to filtering them out here :slight_smile:

Hi everyone.

Little heads up: what we’ve got now:

  1. Write events
  2. Transaction
  3. Delete stream
    I’m hoping to have Reads and Subscription working by the end of the week. The client still doesn’t handle authenticated communication. Note for next client implementors, once you’ve got a simple operation manager, it’s pretty straightforward

Regards,

Yorick

Hi is there any documentation available for tcp protocol or is the recommendation still to study the .net clientAPI?

Any documentation would be very simple (its protobuf messages full
duplex over tcp). We provide a .proto of the protocol. There is
framing on top but thats about it.

Let me suggest you to see the Elixir client. It uses protobuf, and it follows a functional approach: https://github.com/exponentially/extreme