<div dir="ltr"><div>Interesting points.</div><div><ul><li><b>using breakpad</b> - was the problem that creating wrappers to access the c/c++ code was too tedious? Could bindgen help with that, if not it would be interesting gather some details about why it wouldn't work and file bugs against it.</li><li><b>pingsender</b> - was something like <a href="https://hyper.rs/">https://hyper.rs/</a> not around when you were working on it or is this a case of finding the things you want can be difficult in rust-land? Either way it might be a good idea for us to put together a list of "sanctioned" crates for various tasks.<br></li></ul><div>-e<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 12, 2017 at 1:36 AM, Gabriele Svelto <span dir="ltr"><<a href="mailto:gsvelto@mozilla.com" target="_blank">gsvelto@mozilla.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 10/07/2017 12:29, Nicholas Nethercote wrote:<br>
> Hi,<br>
<span class="">> What are the obstacles? Here are some that I've heard.<br>
</span>> [...]<br>
> Anything else?<br>
<br>
In the past year I wrote two tools (minidump-analyzer and pingsender)<br>
that ship with Firefox but are separate executables so both were good<br>
candidates for being written in Rust in the first place. I implemented<br>
both in C++ because of different issues:<br>
<br>
- The minidump-analyzer relies on Google Breakpad machinery that is<br>
currently C++. It's being rewritten in Rust but it's not there yet and<br>
since we needed it to quickly get more crash information going the Rust<br>
route would have simply taken too long. It is a good candidate for being<br>
rewritten in Rust in the coming 12 months though.<br>
<br>
- The pingsender talks to our telemetry infrastructure so needs<br>
HTTP/HTTPS functionality but without linking with libxul. In this case<br>
if I had a crate that offered HTTP functionality I would have gone<br>
straight to Rust but alas it wasn't there. So instead it's a blob of<br>
platform-specific C++ that dlopen()s libcurl on Mac and Linux and relies<br>
on WININET on Windows.<br>
<span class="HOEnZb"><font color="#888888"><br>
 Gabriele<br>
<br>
</font></span><br>______________________________<wbr>_________________<br>
dev-platform mailing list<br>
<a href="mailto:dev-platform@lists.mozilla.org">dev-platform@lists.mozilla.org</a><br>
<a href="https://lists.mozilla.org/listinfo/dev-platform" rel="noreferrer" target="_blank">https://lists.mozilla.org/<wbr>listinfo/dev-platform</a><br>
<br></blockquote></div><br></div></div>