socket_acquire() is called to complete the handshake begun by
socket_release() for transferring ownership (and control) of a socket
to a new object. socket_release() calls the release callback function
within the new owner object to notify the object that it wishes to pass
control of the socket on. It is the responsibility of the new owner
socket to decide whether it wishes to accept the socket. It it does,
then socket_acquire() is called to complete the transfer. If not, then
the callback simply returns without completing the handshake.
In the former case the handshake is completed and the new object
becomes the socket owner. The read, write and close callback function
parameters refer to functions within the new object. These are speci‐
fied so that the MudOS driver will know which functions to call within
the new object. Decling to acquire the socket will cause
socket_release() to return EESOCKNOTRLSD so the owner can perform
socket_acquire() may only be called within the context of thr release
callback function and only with the socket specified.