I was vaguely considering writing a nailgun client...
# development
a
I was vaguely considering writing a nailgun client in rust for funsies... Is there likely to be reusable stuff in your server implementation?
w
yes, probably
i would also not be offended if you rewrote things.
a
Cool :) I will maybe play at some point :) The more I've been writing and reading other languages, the more I really just want the world to be rust...
... and also for the things which frustrate me about rust to get fixed, but that's always the way :P
w
hehe
writing tokio code definitely made me more eager for async/await. but you've now written dramatically more async code than i have with the remote execution api
a
Definitely looking forward to async/await, really quite a lot
a
i would love to align with you about nailgun clients -- i think this PR (https://github.com/pantsbuild/pants/pull/6579) doesn't need that many more changes to work, and the distinction between nailgun and pailgun took some time to hammer out and was pretty interesting in itself. if that's something we would want to mirror in the rust or something we can add on top (our PailgunClient could just interact with a rust NailgunClient), but rust would probably need to know about our nailgun extensions in that case (which is fine, but at that point we would be putting all of our logic in rust). not at all tied to the code in this PR but the nailgun/pailgun split is a very useful distinction to make explicitly and i would recommend approaching it with that distinction in mind if you want to make a client pants can use (no worries if you're just making a client though).
a
Ooh, sounds good!
a
oh and also the distinction between nailgun and pailgun isn't hard imo, so i wasn't saying that as a caution, really. i just think the current pants code doesn't necessarily make the difference clear so it may seem more complex than otherwise
a
Yeah, your separation in that PR definitely makes it a lot more clear!