Having support for asynchronous transforms would be nice, but my concerns are about compatibility:
- there is a documented way to assign queues to branches with MF_TOPONODE_WORKQUEUE_ID. I imagine that having async processing on the same branches will violate that; - quality manager has callbacks for ProcessInput()/ProcessOutput() that are visible to applications, I believe those are blocking and again might differ if we introduce additional queues; - async transforms require additional resolution steps to enable them, and additional flag to enumerate. Is there an evidence that the loader enumerates async transforms automatically and sets them up? - resolved topology contains references to transform objects, which in this case will be wrappers. This is clearly visible to client application;