ES2 MUD LIB :: 東方故事二(ES2) 天朝帝國 mudlib 瀏覽展示

/doc/efuns/socket_acquire

HOME :: doc :: efuns :: socket_acquire

     ssssoooocccckkkkeeeetttt____aaaaccccqqqquuuuiiiirrrreeee((((3333))))      MMMMuuuuddddOOOOSSSS ((((5555 SSSSeeeepppp 1111999999994444))))       ssssoooocccckkkkeeeetttt____aaaaccccqqqquuuuiiiirrrreeee((((3333))))

     NNNNAAAAMMMMEEEE
          socket_acquire() - assume ownership of a socket

     SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
          #include 

          int socket_acquire( int socket, string read_callback,
                              string write_callback,
                              string close_callback );

     DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
          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.

          socket_acquire() may only be called within the context of
          thr release callback function and only with the socket
          specified.

     SSSSEEEEEEEE AAAALLLLSSSSOOOO
          socket_release(3)

     Page 1                                          (printed 3/16/95)

HOME :: doc :: efuns :: socket_acquire