Hi John,

Thanks for the quick response. I am aware of go-ceph. My team has used it successfully for several control-plane services. However, the performance penalty imposed by the Cgo runtime makes go-ceph not a good fit for the data-plane services we'd like to build in the future. The idea for the library I want to create/start is to have serialization and deserialization, of both the RADOS client protocol and of the messenger protocol wrapping it, done natively in Go. Hence, it would be a huge help to get some pointers to good sources of information about the RADOS client protocol.

Thanks,
Sanford

On Sun, Sep 27, 2020 at 10:30 AM John Mulligan <phlogistonjohn@asynchrono.us> wrote:
On Saturday, September 26, 2020 1:56:21 PM EDT Sanford Miller wrote:
> Hi Team,
>
> I'm interested in creating a Go-native version of librados.

I'd be curious if you are aware of go-ceph [1], the project to bind ceph
libraries to Go, much like the Python bindings in the ceph tree. There are
librados bindings in the "rados" subpackage.

If you were aware of go-ceph and have chosen not to make use of it, as a
maintainer of that project, I'm curious to hear about why.

> To that end,
> I'm looking for sources of information about the RADOS client protocol
> (beyond what's on
> https://docs.ceph.com/en/latest/dev/rados-client-protocol/). Could you
> point me to some good places to start?
>
> Thanks for the help!


[1] - https://github.com/ceph/go-ceph




--
Sanford Miller
Engineer I