Detailed Description

Tcp driver specific attrs and cntls.

See also:

globus_xio_attr_cntl()

globus_xio_handle_cntl()

globus_xio_server_cntl()

globus_xio_data_descriptor_cntl()

Enumeration Type Documentation

enum \fBglobus_xio_tcp_cmd_t\fP

doxygen varargs filter stuff TCP driver specific cntls

Enumerator

GLOBUS_XIO_TCP_SET_SERVICE

See usage for: globus_xio_attr_cntl

GLOBUS_XIO_TCP_GET_SERVICE

See usage for: globus_xio_attr_cntl

GLOBUS_XIO_TCP_SET_PORT

See usage for: globus_xio_attr_cntl

GLOBUS_XIO_TCP_GET_PORT

See usage for: globus_xio_attr_cntl

GLOBUS_XIO_TCP_SET_BACKLOG

See usage for: globus_xio_attr_cntl

GLOBUS_XIO_TCP_GET_BACKLOG

See usage for: globus_xio_attr_cntl

GLOBUS_XIO_TCP_SET_LISTEN_RANGE

See usage for: globus_xio_attr_cntl

GLOBUS_XIO_TCP_GET_LISTEN_RANGE

See usage for: globus_xio_attr_cntl

GLOBUS_XIO_TCP_GET_HANDLE

See usage for: globus_xio_attr_cntl , globus_xio_handle_cntl , globus_xio_server_cntl

GLOBUS_XIO_TCP_SET_HANDLE

See usage for: globus_xio_attr_cntl

GLOBUS_XIO_TCP_SET_INTERFACE

See usage for: globus_xio_attr_cntl

GLOBUS_XIO_TCP_GET_INTERFACE

See usage for: globus_xio_attr_cntl

GLOBUS_XIO_TCP_SET_RESTRICT_PORT

See usage for: globus_xio_attr_cntl

GLOBUS_XIO_TCP_GET_RESTRICT_PORT

See usage for: globus_xio_attr_cntl

GLOBUS_XIO_TCP_SET_REUSEADDR

See usage for: globus_xio_attr_cntl

GLOBUS_XIO_TCP_GET_REUSEADDR

See usage for: globus_xio_attr_cntl

GLOBUS_XIO_TCP_SET_NO_IPV6

See usage for: globus_xio_attr_cntl

GLOBUS_XIO_TCP_GET_NO_IPV6

See usage for: globus_xio_attr_cntl

GLOBUS_XIO_TCP_SET_CONNECT_RANGE

See usage for: globus_xio_attr_cntl

GLOBUS_XIO_TCP_GET_CONNECT_RANGE

See usage for: globus_xio_attr_cntl

GLOBUS_XIO_TCP_SET_KEEPALIVE

See usage for: globus_xio_attr_cntl , globus_xio_handle_cntl

GLOBUS_XIO_TCP_GET_KEEPALIVE

See usage for: globus_xio_attr_cntl , globus_xio_handle_cntl

GLOBUS_XIO_TCP_SET_LINGER

See usage for: globus_xio_attr_cntl , globus_xio_handle_cntl

GLOBUS_XIO_TCP_GET_LINGER

See usage for: globus_xio_attr_cntl , globus_xio_handle_cntl

GLOBUS_XIO_TCP_SET_OOBINLINE

See usage for: globus_xio_attr_cntl , globus_xio_handle_cntl

GLOBUS_XIO_TCP_GET_OOBINLINE

See usage for: globus_xio_attr_cntl , globus_xio_handle_cntl

GLOBUS_XIO_TCP_SET_SNDBUF

See usage for: globus_xio_attr_cntl , globus_xio_handle_cntl

GLOBUS_XIO_TCP_GET_SNDBUF

See usage for: globus_xio_attr_cntl , globus_xio_handle_cntl

GLOBUS_XIO_TCP_SET_RCVBUF

See usage for: globus_xio_attr_cntl , globus_xio_handle_cntl

GLOBUS_XIO_TCP_GET_RCVBUF

See usage for: globus_xio_attr_cntl , globus_xio_handle_cntl

GLOBUS_XIO_TCP_SET_NODELAY

See usage for: globus_xio_attr_cntl , globus_xio_handle_cntl

GLOBUS_XIO_TCP_GET_NODELAY

See usage for: globus_xio_attr_cntl , globus_xio_handle_cntl

GLOBUS_XIO_TCP_SET_SEND_FLAGS

See usage for: globus_xio_data_descriptor_cntl

GLOBUS_XIO_TCP_GET_SEND_FLAGS

See usage for: globus_xio_data_descriptor_cntl

GLOBUS_XIO_TCP_GET_LOCAL_CONTACT

See usage for: globus_xio_handle_cntl , globus_xio_server_cntl

GLOBUS_XIO_TCP_GET_LOCAL_NUMERIC_CONTACT

See usage for: globus_xio_handle_cntl , globus_xio_server_cntl

GLOBUS_XIO_TCP_GET_REMOTE_CONTACT

See usage for: globus_xio_handle_cntl

GLOBUS_XIO_TCP_GET_REMOTE_NUMERIC_CONTACT

See usage for: globus_xio_handle_cntl

GLOBUS_XIO_TCP_AFFECT_ATTR_DEFAULTS

See usage for: globus_xio_attr_cntl

GLOBUS_XIO_TCP_SET_BLOCKING_IO

See usage for: globus_xio_attr_cntl , globus_xio_handle_cntl

GLOBUS_XIO_TCP_GET_BLOCKING_IO

See usage for: globus_xio_attr_cntl , globus_xio_handle_cntl

Function Documentation

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_SET_SERVICE\fP, const char *service_name)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the tcp service name to bind to.

Used only on attrs for globus_xio_server_create().

Parameters:

service_name The service name to use when setting up the listener. If the service name cannot be resolved, the port (if one is set) will be used instead.

string opt: port=string

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_GET_SERVICE\fP, char **service_name_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp service name to bind to.

Parameters:

service_name_out A pointer to the service name will be stored here If none is set, NULL will be passed back. Otherwise, the name will be duplicated with strdup() and the user should call free() on it.

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_SET_PORT\fP, intlistener_port)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the tcp port number to bind to.

Used only on attrs for globus_xio_server_create(). The default port number is 0 (system assigned)

Parameters:

listener_port The port number to use when setting up the listener. If the service name is also set, this will only be used if that can't be resolved.

string opt: port=int

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_GET_PORT\fP, int *listener_port_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp port number to bind to.

Parameters:

listener_port_out The port will be stored here.

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_SET_BACKLOG\fP, intlistener_backlog)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the listener backlog on a server.

Used only on attrs for globus_xio_server_create(). The default backlog is -1 (system maximum)

Parameters:

listener_backlog This indicates the maximum length of the system's queue of pending connections. Any connection attempts when the queue is full will fail. If backlog is equal to -1, then the system-specific maximum queue length will be used.

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_GET_BACKLOG\fP, int *listener_backlog_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the listener backlog on an attr.

Parameters:

listener_backlog_out The backlog will be stored here.

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_SET_LISTEN_RANGE\fP, intlistener_min_port, intlistener_max_port)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the tcp port range to confine the server to.

Used only on attrs for globus_xio_server_create() where no specific service or port has been set. It overrides the range set in the GLOBUS_TCP_PORT_RANGE env variable. If 'restrict port' is true, the server's listening port will be constrained to the range specified.

Parameters:

listener_min_port The lower bound on the listener port. (default 0 -- no bound)

listener_max_port The upper bound on the listener port. (default 0 -- no bound)

See also:

GLOBUS_XIO_TCP_SET_RESTRICT_PORT

string opt: listen_range=int,int

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_GET_LISTEN_RANGE\fP, int *listener_min_port_out, int *listener_max_port_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp port range on an attr.

Parameters:

listener_min_port_out The lower bound will be stored here.

listener_max_port_out The upper bound will be stored here.

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_GET_HANDLE\fP, globus_xio_system_socket_t *handle_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp socket handle on an attr, handle, or server.

Parameters:

handle_out The tcp socket will be stored here. If none is set, GLOBUS_XIO_TCP_INVALID_HANDLE will be set.

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_SET_HANDLE\fP, globus_xio_system_socket_thandle)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the tcp socket to use for a handle or server.

Used only on attrs for globus_xio_server_create() or globus_xio_register_open().

Parameters:

handle Use this handle (fd or SOCKET) for the listener or connection. Note: close() will not be called on this handle.

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_SET_INTERFACE\fP, const char *interface)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the interface to bind a listener or connection to.

Used only on attrs for globus_xio_server_create() or globus_xio_register_open.

Parameters:

interface The interface to use. Can be a hostname or numeric IP

string opt: iface=string

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_GET_INTERFACE\fP, char **interface_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the interface on the attr.

Parameters:

interface_out A pointer to the interface will be stored here If one is set, NULL will be passed back. Otherwise, the interface will be duplicated with strdup() and the user should call free() on it.

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_SET_RESTRICT_PORT\fP, globus_bool_trestrict_port)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Enable or disable the listener or connector range constraints.

Used only on attrs for globus_xio_server_create() or globus_xio_register_open(). This enables or ignores the port range found in the attr or in then env. By default, those ranges are enabled.

Parameters:

restrict_port GLOBUS_TRUE to enable (default), GLOBUS_FALSE to disable.

See also:

GLOBUS_XIO_TCP_SET_LISTEN_RANGE

GLOBUS_XIO_TCP_SET_CONNECT_RANGE

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_GET_RESTRICT_PORT\fP, globus_bool_t *restrict_port_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the restrict port flag.

Parameters:

restrict_port_out The restrict port flag will be stored here.

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_SET_REUSEADDR\fP, globus_bool_tresuseaddr)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Reuse addr when binding.

Used only on attrs for globus_xio_server_create() or globus_xio_register_open() to determine whether or not to allow reuse of addresses when binding a socket to a port number.

Parameters:

resuseaddr GLOBUS_TRUE to allow, GLOBUS_FALSE to disallow (default)

string opt: reuse=bool

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_GET_REUSEADDR\fP, globus_bool_t *resuseaddr_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the reuseaddr flag on an attr.

Parameters:

resuseaddr_out The reuseaddr flag will be stored here.

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_SET_NO_IPV6\fP, globus_bool_tno_ipv6)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Restrict to IPV4 only.

Used only on attrs for globus_xio_server_create() or globus_xio_register_open(). Disallow IPV6 sockets from being used (default is to use either ipv4 or ipv6)

Parameters:

no_ipv6 GLOBUS_TRUE to disallow ipv6, GLOBUS_FALSE to allow (default)

string opt: noipv6=bool

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_GET_NO_IPV6\fP, globus_bool_t *no_ipv6_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the no ipv6 flag on an attr.

Parameters:

no_ipv6_out The no ipv6 flag will be stored here.

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_SET_CONNECT_RANGE\fP, intconnector_min_port, intconnector_max_port)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the tcp port range to confine the server to.

Used only on attrs for globus_xio_register_open(). It overrides the range set in the GLOBUS_TCP_SOURCE_RANGE env variable. If 'restrict port' is true, the connecting socket's local port will be constrained to the range specified.

Parameters:

connector_min_port The lower bound on the listener port. (default 0 -- no bound)

connector_max_port The upper bound on the listener port. (default 0 -- no bound)

See also:

GLOBUS_XIO_TCP_SET_RESTRICT_PORT

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_GET_CONNECT_RANGE\fP, int *connector_min_port_out, int *connector_max_port_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp source port range on an attr.

Parameters:

connector_min_port_out The lower bound will be stored here.

connector_max_port_out The upper bound will be stored here.

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_SET_KEEPALIVE\fP, globus_bool_tkeepalive)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Enable tcp keepalive.

Used on attrs for globus_xio_server_create(), globus_xio_register_open() and with globus_xio_handle_cntl() to determine whether or not to periodically send 'keepalive' messages on a connected socket handle. This may enable earlier detection of broken connections.

Parameters:

keepalive GLOBUS_TRUE to enable, GLOBUS_FALSE to disable (default)

string opt: keepalive=bool

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_GET_KEEPALIVE\fP, globus_bool_t *keepalive_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp keepalive flag.

Parameters:

keepalive_out The tcp keepalive flag will be stored here.

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_SET_LINGER\fP, globus_bool_tlinger, intlinger_time)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set tcp linger.

Used on attrs for globus_xio_server_create(), globus_xio_register_open() and with globus_xio_handle_cntl() to determine what to do when data is in the socket's buffer when the socket is closed. If linger is set to true, then the close operation will block until the socket buffers are empty, or the linger_time has expired. If this is enabled, any data remaining after the linger time has expired, will be discarded. If this is disabled, close finishes immediately, but the OS will still attempt to transmit the remaining data.

Parameters:

linger GLOBUS_TRUE to enable, GLOBUS_FALSE to disable (default)

linger_time The time (in seconds) to block at close time if linger is true and data is queued in the socket buffer.

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_GET_LINGER\fP, globus_bool_t *linger_out, int *linger_time_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp linger flag and time.

Parameters:

linger_out The linger flag will be stored here.

linger_time_out The linger time will be set here.

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_SET_OOBINLINE\fP, globus_bool_toobinline)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Receive out of band data (tcp urgent data) in normal stream.

Used on attrs for globus_xio_server_create(), globus_xio_register_open() and with globus_xio_handle_cntl() to choose whether out-of-band data is received in the normal data queue. (Currently, there is no other way to receive OOB data)

Parameters:

oobinline GLOBUS_TRUE to enable, GLOBUS_FALSE to disable (default)

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_GET_OOBINLINE\fP, globus_bool_t *oobinline_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the oobinline flag.

Parameters:

oobinline_out The oobinline flag will be stored here.

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_SET_SNDBUF\fP, intsndbuf)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the tcp socket send buffer size.

Used on attrs for globus_xio_server_create(), globus_xio_register_open() and with globus_xio_handle_cntl() to set the size of the send buffer used on the socket.

Parameters:

sndbuf The send buffer size in bytes to use. (default is system specific)

string opt: sndbuf=formatted int

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_GET_SNDBUF\fP, int *sndbuf_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp send buffer size on the attr or handle.

Parameters:

sndbuf_out The send buffer size will be stored here.

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_SET_RCVBUF\fP, intrcvbuf)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the tcp socket receive buffer size.

Used on attrs for globus_xio_server_create(), globus_xio_register_open() and with globus_xio_handle_cntl() to set the size of the receive buffer used on the socket. The receive buffer size is often used by the operating system to choose the appropriate TCP window size.

Parameters:

rcvbuf The receive buffer size in bytes. (default is system specific)

string opt: rcvbuf=formatted int

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_GET_RCVBUF\fP, int *rcvbuf_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp receive buffer size on the attr or handle.

Parameters:

rcvbuf_out The receive buffer size will be stored here.

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_SET_NODELAY\fP, globus_bool_tnodelay)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Disable Nagle's algorithm.

Used on attrs for globus_xio_server_create(), globus_xio_register_open() and with globus_xio_handle_cntl() to determine whether or not to disable Nagle's algorithm. If set to GLOBUS_TRUE, the socket will send packets as soon as possible with no unnecessary delays introduced.

Parameters:

nodelay GLOBUS_TRUE to disable nagle, GLOBUS_FALSE to enable (default)

string opt: nodelay=bool

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_GET_NODELAY\fP, globus_bool_t *nodelay_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp nodelay flag.

Parameters:

nodelay_out The no delay flag will be stored here.

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_AFFECT_ATTR_DEFAULTS\fP, globus_bool_taffect_global)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Change the default attr values.

@param affect_global
     If GLOBUS_TRUE, any future cntls on this attr will access
     the global default attr (which all new attrs are initialized from)
     The default is GLOBUS_FALSE.  Note:  this should only be used at
     the application level and there should only be one.  There is no
     mutex protecting the global attr.  This feature should not be
     abused.  There are some attrs that make no sense to change
     globally.  Attrs that do include the tcp port range stuff, socket
     buffer sizes, etc..fi


globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_SET_BLOCKING_IO\fP, globus_bool_tuse_blocking_io)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Enable true blocking io when making globus_xio_read/write() calls. Note: use with caution. you can deadlock an entire app with this.

Parameters:

use_blocking_io If GLOBUS_TRUE, true blocking io will be enabled. GLOBUS_FALSE will disable it (default);

globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_TCP_GET_BLOCKING_IO\fP, globus_bool_t *use_blocking_io_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the blocking io status in use or in attr.

Parameters:

use_blocking_io_out The flag will be set here. GLOBUS_TRUE for enabled.

globus_result_t globus_xio_data_descriptor_cntl (dd, driver, \fBGLOBUS_XIO_TCP_SET_SEND_FLAGS\fP, intsend_flags)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set tcp send flags.

Used only for data descriptors to write calls.

Parameters:

send_flags The flags to use when sending data.

See also:

globus_xio_tcp_send_flags_t

globus_result_t globus_xio_data_descriptor_cntl (dd, driver, \fBGLOBUS_XIO_TCP_GET_SEND_FLAGS\fP, int *send_flags_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get tcp send flags.

@param send_flags_out
     The flags to use will be stored here..fi


globus_result_t globus_xio_handle_cntl (handle, driver, \fBGLOBUS_XIO_TCP_GET_HANDLE\fP, globus_xio_system_socket_t *handle_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp socket handle on an attr, handle, or server.

Parameters:

handle_out The tcp socket will be stored here. If none is set, GLOBUS_XIO_TCP_INVALID_HANDLE will be set.

globus_result_t globus_xio_handle_cntl (handle, driver, \fBGLOBUS_XIO_TCP_SET_KEEPALIVE\fP, globus_bool_tkeepalive)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Enable tcp keepalive.

Used on attrs for globus_xio_server_create(), globus_xio_register_open() and with globus_xio_handle_cntl() to determine whether or not to periodically send 'keepalive' messages on a connected socket handle. This may enable earlier detection of broken connections.

Parameters:

keepalive GLOBUS_TRUE to enable, GLOBUS_FALSE to disable (default)

string opt: keepalive=bool

globus_result_t globus_xio_handle_cntl (handle, driver, \fBGLOBUS_XIO_TCP_GET_KEEPALIVE\fP, globus_bool_t *keepalive_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp keepalive flag.

Parameters:

keepalive_out The tcp keepalive flag will be stored here.

globus_result_t globus_xio_handle_cntl (handle, driver, \fBGLOBUS_XIO_TCP_SET_LINGER\fP, globus_bool_tlinger, intlinger_time)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set tcp linger.

Used on attrs for globus_xio_server_create(), globus_xio_register_open() and with globus_xio_handle_cntl() to determine what to do when data is in the socket's buffer when the socket is closed. If linger is set to true, then the close operation will block until the socket buffers are empty, or the linger_time has expired. If this is enabled, any data remaining after the linger time has expired, will be discarded. If this is disabled, close finishes immediately, but the OS will still attempt to transmit the remaining data.

Parameters:

linger GLOBUS_TRUE to enable, GLOBUS_FALSE to disable (default)

linger_time The time (in seconds) to block at close time if linger is true and data is queued in the socket buffer.

globus_result_t globus_xio_handle_cntl (handle, driver, \fBGLOBUS_XIO_TCP_GET_LINGER\fP, globus_bool_t *linger_out, int *linger_time_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp linger flag and time.

Parameters:

linger_out The linger flag will be stored here.

linger_time_out The linger time will be set here.

globus_result_t globus_xio_handle_cntl (handle, driver, \fBGLOBUS_XIO_TCP_SET_OOBINLINE\fP, globus_bool_toobinline)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Receive out of band data (tcp urgent data) in normal stream.

Used on attrs for globus_xio_server_create(), globus_xio_register_open() and with globus_xio_handle_cntl() to choose whether out-of-band data is received in the normal data queue. (Currently, there is no other way to receive OOB data)

Parameters:

oobinline GLOBUS_TRUE to enable, GLOBUS_FALSE to disable (default)

globus_result_t globus_xio_handle_cntl (handle, driver, \fBGLOBUS_XIO_TCP_GET_OOBINLINE\fP, globus_bool_t *oobinline_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the oobinline flag.

Parameters:

oobinline_out The oobinline flag will be stored here.

globus_result_t globus_xio_handle_cntl (handle, driver, \fBGLOBUS_XIO_TCP_SET_SNDBUF\fP, intsndbuf)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the tcp socket send buffer size.

Used on attrs for globus_xio_server_create(), globus_xio_register_open() and with globus_xio_handle_cntl() to set the size of the send buffer used on the socket.

Parameters:

sndbuf The send buffer size in bytes to use. (default is system specific)

string opt: sndbuf=formatted int

globus_result_t globus_xio_handle_cntl (handle, driver, \fBGLOBUS_XIO_TCP_GET_SNDBUF\fP, int *sndbuf_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp send buffer size on the attr or handle.

Parameters:

sndbuf_out The send buffer size will be stored here.

globus_result_t globus_xio_handle_cntl (handle, driver, \fBGLOBUS_XIO_TCP_SET_RCVBUF\fP, intrcvbuf)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the tcp socket receive buffer size.

Used on attrs for globus_xio_server_create(), globus_xio_register_open() and with globus_xio_handle_cntl() to set the size of the receive buffer used on the socket. The receive buffer size is often used by the operating system to choose the appropriate TCP window size.

Parameters:

rcvbuf The receive buffer size in bytes. (default is system specific)

string opt: rcvbuf=formatted int

globus_result_t globus_xio_handle_cntl (handle, driver, \fBGLOBUS_XIO_TCP_GET_RCVBUF\fP, int *rcvbuf_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp receive buffer size on the attr or handle.

Parameters:

rcvbuf_out The receive buffer size will be stored here.

globus_result_t globus_xio_handle_cntl (handle, driver, \fBGLOBUS_XIO_TCP_SET_NODELAY\fP, globus_bool_tnodelay)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Disable Nagle's algorithm.

Used on attrs for globus_xio_server_create(), globus_xio_register_open() and with globus_xio_handle_cntl() to determine whether or not to disable Nagle's algorithm. If set to GLOBUS_TRUE, the socket will send packets as soon as possible with no unnecessary delays introduced.

Parameters:

nodelay GLOBUS_TRUE to disable nagle, GLOBUS_FALSE to enable (default)

string opt: nodelay=bool

globus_result_t globus_xio_handle_cntl (handle, driver, \fBGLOBUS_XIO_TCP_GET_NODELAY\fP, globus_bool_t *nodelay_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp nodelay flag.

Parameters:

nodelay_out The no delay flag will be stored here.

globus_result_t globus_xio_handle_cntl (handle, driver, \fBGLOBUS_XIO_TCP_GET_LOCAL_CONTACT\fP, char **contact_string_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get local socket info.

@param contact_string_out
     A pointer to a contact string for the local end of a connected
     socket or listener will be stored here.  The user should free() it
     when done with it.  It will be in the format: lt;hostnamegt;:lt;portgt;

@see globus_xio_server_get_contact_string()
@see GLOBUS_XIO_GET_LOCAL_CONTACT.fi


globus_result_t globus_xio_handle_cntl (handle, driver, \fBGLOBUS_XIO_TCP_GET_LOCAL_NUMERIC_CONTACT\fP, char **contact_string_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get local socket info.

@param contact_string_out
     A pointer to a contact string for the local end of a connected
     socket or listener will be stored here.  The user should free() it
     when done with it.   It will be in the format: lt;ipgt;:lt;portgt;

@see GLOBUS_XIO_GET_LOCAL_NUMERIC_CONTACT.fi


globus_result_t globus_xio_handle_cntl (handle, driver, \fBGLOBUS_XIO_TCP_GET_REMOTE_CONTACT\fP, char **contact_string_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get remote socket info.

@param contact_string_out
     A pointer to a contact string for the remote end of a connected
     socket will be stored here.  The user should free() it
     when done with it. It will be in the format: lt;hostnamegt;:lt;portgt;

@see GLOBUS_XIO_GET_REMOTE_CONTACT.fi


globus_result_t globus_xio_handle_cntl (handle, driver, \fBGLOBUS_XIO_TCP_GET_REMOTE_NUMERIC_CONTACT\fP, char **contact_string_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get remote socket info.

@param contact_string_out
     A pointer to a contact string for the remote end of a connected
     socket will be stored here.  The user should free() it
     when done with it.   It will be in the format: lt;ipgt;:lt;portgt;

@see GLOBUS_XIO_GET_REMOTE_NUMERIC_CONTACT.fi


globus_result_t globus_xio_handle_cntl (handle, driver, \fBGLOBUS_XIO_TCP_SET_BLOCKING_IO\fP, globus_bool_tuse_blocking_io)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Enable true blocking io when making globus_xio_read/write() calls. Note: use with caution. you can deadlock an entire app with this.

Parameters:

use_blocking_io If GLOBUS_TRUE, true blocking io will be enabled. GLOBUS_FALSE will disable it (default);

globus_result_t globus_xio_handle_cntl (handle, driver, \fBGLOBUS_XIO_TCP_GET_BLOCKING_IO\fP, globus_bool_t *use_blocking_io_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the blocking io status in use or in attr.

Parameters:

use_blocking_io_out The flag will be set here. GLOBUS_TRUE for enabled.

globus_result_t globus_xio_server_cntl (server, driver, \fBGLOBUS_XIO_TCP_GET_HANDLE\fP, globus_xio_system_socket_t *handle_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the tcp socket handle on an attr, handle, or server.

Parameters:

handle_out The tcp socket will be stored here. If none is set, GLOBUS_XIO_TCP_INVALID_HANDLE will be set.

globus_result_t globus_xio_server_cntl (server, driver, \fBGLOBUS_XIO_TCP_GET_LOCAL_CONTACT\fP, char **contact_string_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get local socket info.

@param contact_string_out
     A pointer to a contact string for the local end of a connected
     socket or listener will be stored here.  The user should free() it
     when done with it.  It will be in the format: lt;hostnamegt;:lt;portgt;

@see globus_xio_server_get_contact_string()
@see GLOBUS_XIO_GET_LOCAL_CONTACT.fi


globus_result_t globus_xio_server_cntl (server, driver, \fBGLOBUS_XIO_TCP_GET_LOCAL_NUMERIC_CONTACT\fP, char **contact_string_out)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get local socket info.

@param contact_string_out
     A pointer to a contact string for the local end of a connected
     socket or listener will be stored here.  The user should free() it
     when done with it.   It will be in the format: lt;ipgt;:lt;portgt;

@see GLOBUS_XIO_GET_LOCAL_NUMERIC_CONTACT.fi


Author

Generated automatically by Doxygen for globus_xio from the source code.