Use of the API is done by creating a 'manager', which provides a common reference for all the operations that should be grouped together somehow. To a manager are added 'workers', which specify how an operation is serviced. Some examples of worker types are 'per-op', which creates a thread for that operation and services it, 'blocking', which blocks on the post call, services the operation and returns, or 'threaded-queues', which create a number of threads and pull operations off queues in-turn to service them. Finally, once a manager has been setup with the appropriate workers, operations can be posted to the manager. The worker that services the operation is chosen either explicitly in the post call, or dynamically using the type of the operation as the key. Notification of completed operations is made through the completion context, which is specified for a particular manager, or passed in with the post call.
1.3.5