The callbacks (events, delegates) are used in CBFS Storage to let the application provide custom data storage and handling (encryption and compression). Also, callbacks are used to notify the application about progress of time-consuming applications.
The use of callbacks is transparent, however the implementor of callback handlers should be aware of the following:
While for OnProgress and compression/encryption callbacks the above restrictions are not a big problem, implementation of virtual disks is a bit complicated. We suggest that the application performs all operations asynchronously, i.e. maintains it's own cache and performs all reading/writing to the actual file system outside of the callback procedures.