<div dir="ltr">We had a Mobile Tech Leads Meeting 
earlier today (NA/AU timezones).  Due to PTO, it was a smaller group than usual.<br><div class="gmail-"><div id="gmail-:34z" class="gmail-ii gmail-gt"><div id="gmail-:34p" class="gmail-a3s gmail-aXjCH gmail-m164946ae9074b261"><div dir="ltr"><div><br></div><div>A very brief and opinionated summary of our discussion (<a href="https://docs.google.com/document/d/13ZqcDtmedjAykVveOlZSFYP5tWi2i6G5dCzUuHEBY0U" target="_blank">from this doc</a>):</div><div><ol><li><b>How do we manage threading</b> between consumers (primarily Android invoking Rust from Java/Kotlin, but also iOS invoking Rust from Swift) and Rust libraries?<br></li><ul><li>Discussion focused on JVM thread pools and Kotlin coroutines.</li><li>Strong desire to not expose concurrency in the API surface<br></li><li>Initial proposal, subject to much further discussion:<br></li><ul><li><b>Rust code should be synchronous<br></b></li><li><b>Rust code should expect to be invoked from multiple threads</b></li><li><b>Rust code should expect to be serialized (via Java `synchronize` keyword or equivalent)</b><br></li></ul></ul><li>There was some discussion of dependency injection for logging and telemetry.</li><ul><li>markh will be leading that discussion for telemetry.</li></ul></ol><div>There's more in the notes but that's the gist.</div><div><br></div><div>Your interlocutor,</div><div>Nick</div><div><br></div></div></div></div></div></div></div>