If a socket is in a non-blocking mode, any I/O operation must either complete immediately or return error code WSAEWOULDBLOCK indicating that the operation cannot be finished right away. In the latter case, a mechanism is needed to discover when it is appropriate to try the operation again with the expectation that the operation shall succeed. A set of network events have been defined for this purpose and these can be polled or waited on by using WSPSelect, or be registered for asynchronous delivery by calling WSPAsyncSelect or WSPEventSelect. See section Notification of Network Events for more information.