~/talk

Coroutines Case Study - Cleaning Up an Async API

Talkat KotlinConf 2019 · 2019-12-04..12-06· [kotlin, testing]
links:none on file
slides:none on file

Claims a working Kotlin extension that turns a void callback USB card‑reader SDK into clean suspend APIs, using suspend wrapper on top of void callback API and channels + select to await event or error. It uses async/await, supervisor jobs and coroutineScope for structured concurrency, debug probes for tracing, and sealed result types instead of exceptions. The result is readable sequential code, easier testing and recoverable error cases for unreliable hardware.

AI-written summary · about

  1. 0:00COROUTINES CASE
  2. 1:09Tom Hanley
  3. 2:19Launch vs Async
  4. 2:55Toast Restaurant Platform
  5. 5:13The Card Reader API
  6. 9:18API Extension Goals
  7. 14:17Sequence Diagram
  8. 15:46Structured Concurrency
  9. 20:29Enable Debug Mode
  10. 21:32Use the Debug Agent
  11. 22:49Debug Agent JUnit Rule
  12. 27:23Whats the problem with exceptions for error handling?
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.