goraft / raft

UNMAINTAINED: A Go implementation of the Raft distributed consensus protocol.
MIT License
2.43k stars 479 forks source link

Make HttpTranporter.Transport into an exported field #146

Closed gdb closed 10 years ago

gdb commented 10 years ago

With this patch, it becomes possible to use the HTTPTransporter over custom transports, such as Unix sockets.

For a bit more context, I'm currently working on an application where speaking Raft over Unix sockets is necessary, and it's convenient to just keep using HTTP. It's possible (though a bit kludgey) to get http.Client to speak over Unix sockets. With this patch, I've successfully gotten Raft to run over them as well (happy to provide my client code if useful).

benbjohnson commented 10 years ago

:+1: looks good to me. I'd be curious to hear what your use case is. Sounds cool.

Is it a project we can list of the README?

gdb commented 10 years ago

Awesome. I'm working on Stripe CTF3 (https://stripe-ctf.com/) — I guess this is a hint that there will be a level involving Raft :). It should be public in about a month; I'll send you a link once we have something public.

benbjohnson commented 10 years ago

I can honestly say I never thought go-raft would be used in a security competition. :)

Can't wait!

homepage

gdb commented 10 years ago

Hah. CTF3 is going to be a bit different — it'll be more of a systems engineering contest. Thanks for the great Raft implementation, BTW.