AsyncServiceExtensions Module
Async extension methods for JvLinkService.
Important: Most methods in this module (marked with [Obsolete]) are thin
wrappers around synchronous methods using async { return ... }. They do NOT offload
work to a background thread and will block the calling thread while COM operations execute.
These methods exist for API convenience but provide no true asynchrony benefit.
For responsive UIs, consider using Task.Run to offload the synchronous calls,
or use StreamRealtimeAsync/StreamRealtimePayloadsCollectAsync which are
genuinely asynchronous.
Why COM can't be truly async: JV-Link COM objects require a Single-Threaded Apartment (STA) thread. All COM calls are dispatched to this dedicated thread, making true async impractical without fundamentally changing the threading model.
Xanthos