SILC Async Operation Interface
SILC Async Operation API is an interface that can be used to control
asynchronous operations. All functions that take callback as argument
should return SilcAsyncOperation context. That context then can be
used to control, such as, abort the asynchronous operation. Using
SILC Async Operation API, asynchronous functions can be controlled
and aborted safely.
The SILC Async Operation API is divided in two levels; the underlaying
operation level that implements the asynchronous operation, and the
upper layer that can control the asynchronous operation. The operation
layer must guarantee that if the upper layer aborts the asynchronous
operation, no callback function will be called back to the upper layer.
This must be remembered when implementing the operation layer.