Grid Community Toolkit
6.2.1705709074 (tag: v6.2.20240202)
|
Opening/Closing. More...
Opening/Closing.
An XIO handle with the tcp driver can be created with either globus_xio_handle_create() or globus_xio_server_register_accept().
If the handle is created with globus_xio_server_register_accept(), the globus_xio_register_open() call does nothing more than initialize the internal handle with the accepted socket.
If the handle is created with globus_xio_handle_create(), and there is no handle set on the attr passed to the globus_xio_register_open() call, it performs the equivalent of an asynchronous connect() call. In this case, the contact string must contain a host name and service/port. Both the hostname and port number can be numeric or symbolic (eg: some.webserver.com:80 or 214.123.12.1:http). If the hostname is symbolic and it resolves to multiple ip addresses, each one will be attempted in succession, until the connect is successful or there are no more addresses.
When the XIO handle is closed, the tcp driver will destroy its internal resources and close the socket (unless this socket was set on an attr). Any write data pending in system buffers will be sent unless the linger option has been set. Any remaining data in recv buffers will be discarded and (on some systems) a connection reset sent to the peer.