Blocking and non-blocking I/O

Describe the various ways the libraries can be used with respect to I/O and application models.

The library is designed internally to use non-blocking I/O. In the simpler use cases, however, the lcb_wait() function is used to block the application while it awaits the completion of pending operations. When the lcb_wait() function is called the library will start its internal event loop and keep the event loop running (and blocking the application) until all pending requests have been completed. A pending request is the result of a scheduling operation (such as lcb_get() or lcb_connect()).