33 lines
1.5 KiB
Plaintext
33 lines
1.5 KiB
Plaintext
socket_acquire - assume ownership of a socket
|
|
|
|
int socket_acquire( int socket, string | function read_callback,
|
|
string | function write_callback,
|
|
string | function close_callback );
|
|
|
|
This efun is only available if PACKAGE_SOCKETS is compiled in.
|
|
|
|
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 specified
|
|
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 appropriate clean-up.
|
|
EESOCKNOTRLSD is in "socket_err.h".
|
|
|
|
socket_acquire() may only be called within the context of thr release
|
|
callback function and only with the socket specified.
|
|
|
|
See also:
|
|
socket_release
|
|
|
|
Tim Hollebeek Beek@ZorkMUD, Lima Bean, IdeaExchange, and elsewhere
|