GLOBUS_XIO_TCP_SET_SEND_FLAGS(3)
globus_xio_tcp_driver_cntls π β¨
okay bestie, this is the globus_xio_tcp_driver_cntls(3) manual page β Library Functions Manual vibes, and it's literally the TCP driver's entire personality in one page: every attr, every cntl, no gatekeeping. π«Ά We're doing this in five parts, so settle in, hydrate, and let's go.
π NAME π
globus_xio_tcp_driver_cntls β Attributes and Cntls
- Attributes and Cntls.
πΈ SYNOPSIS πΈ
β¨ Enumerations β¨
this is the full command menu, one big enum, it's giving main character energy:
enum globus_xio_tcp_cmd_t { GLOBUS_XIO_TCP_SET_SERVICE,
GLOBUS_XIO_TCP_GET_SERVICE, GLOBUS_XIO_TCP_SET_PORT,
GLOBUS_XIO_TCP_GET_PORT, GLOBUS_XIO_TCP_SET_BACKLOG,
GLOBUS_XIO_TCP_GET_BACKLOG, GLOBUS_XIO_TCP_SET_LISTEN_RANGE,
GLOBUS_XIO_TCP_GET_LISTEN_RANGE, GLOBUS_XIO_TCP_GET_HANDLE,
GLOBUS_XIO_TCP_SET_HANDLE, GLOBUS_XIO_TCP_SET_INTERFACE,
GLOBUS_XIO_TCP_GET_INTERFACE, GLOBUS_XIO_TCP_SET_RESTRICT_PORT,
GLOBUS_XIO_TCP_GET_RESTRICT_PORT, GLOBUS_XIO_TCP_SET_REUSEADDR,
GLOBUS_XIO_TCP_GET_REUSEADDR, GLOBUS_XIO_TCP_SET_NO_IPV6,
GLOBUS_XIO_TCP_GET_NO_IPV6, GLOBUS_XIO_TCP_SET_CONNECT_RANGE,
GLOBUS_XIO_TCP_GET_CONNECT_RANGE, GLOBUS_XIO_TCP_SET_KEEPALIVE,
GLOBUS_XIO_TCP_GET_KEEPALIVE, GLOBUS_XIO_TCP_SET_LINGER,
GLOBUS_XIO_TCP_GET_LINGER, GLOBUS_XIO_TCP_SET_OOBINLINE,
GLOBUS_XIO_TCP_GET_OOBINLINE, GLOBUS_XIO_TCP_SET_SNDBUF,
GLOBUS_XIO_TCP_GET_SNDBUF, GLOBUS_XIO_TCP_SET_RCVBUF,
GLOBUS_XIO_TCP_GET_RCVBUF, GLOBUS_XIO_TCP_SET_NODELAY,
GLOBUS_XIO_TCP_GET_NODELAY, GLOBUS_XIO_TCP_SET_SEND_FLAGS,
GLOBUS_XIO_TCP_GET_SEND_FLAGS, GLOBUS_XIO_TCP_GET_LOCAL_CONTACT,
GLOBUS_XIO_TCP_GET_LOCAL_NUMERIC_CONTACT,
GLOBUS_XIO_TCP_GET_REMOTE_CONTACT,
GLOBUS_XIO_TCP_GET_REMOTE_NUMERIC_CONTACT,
GLOBUS_XIO_TCP_AFFECT_ATTR_DEFAULTS, GLOBUS_XIO_TCP_SET_BLOCKING_IO,
GLOBUS_XIO_TCP_GET_BLOCKING_IO }
π¦ Functions π¦
and here is every single function signature, verbatim, because we don't summarise and we don't skip. take your time, bestie, it's a lot but it's so worth it:
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_SET_SERVICE, const char *service_name)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_GET_SERVICE, char **service_name_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_SET_PORT, int listener_port)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_GET_PORT, int *listener_port_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_SET_BACKLOG, int listener_backlog)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_GET_BACKLOG, int *listener_backlog_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_SET_LISTEN_RANGE, int listener_min_port, int
listener_max_port)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_GET_LISTEN_RANGE, int *listener_min_port_out, int
*listener_max_port_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_GET_HANDLE, globus_xio_system_socket_t *handle_out)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_TCP_GET_HANDLE, globus_xio_system_socket_t *handle_out)
globus_result_t globus_xio_server_cntl (server, driver,
GLOBUS_XIO_TCP_GET_HANDLE, globus_xio_system_socket_t *handle_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_SET_HANDLE, globus_xio_system_socket_t handle)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_SET_INTERFACE, const char *interface)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_GET_INTERFACE, char **interface_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_SET_RESTRICT_PORT, globus_bool_t restrict_port)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_GET_RESTRICT_PORT, globus_bool_t *restrict_port_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_SET_REUSEADDR, globus_bool_t resuseaddr)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_GET_REUSEADDR, globus_bool_t *resuseaddr_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_SET_NO_IPV6, globus_bool_t no_ipv6)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_GET_NO_IPV6, globus_bool_t *no_ipv6_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_SET_CONNECT_RANGE, int connector_min_port, int
connector_max_port)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_GET_CONNECT_RANGE, int *connector_min_port_out, int
*connector_max_port_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_SET_KEEPALIVE, globus_bool_t keepalive)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_TCP_SET_KEEPALIVE, globus_bool_t keepalive)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_GET_KEEPALIVE, globus_bool_t *keepalive_out)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_TCP_GET_KEEPALIVE, globus_bool_t *keepalive_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_SET_LINGER, globus_bool_t linger, int linger_time)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_TCP_SET_LINGER, globus_bool_t linger, int linger_time)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_GET_LINGER, globus_bool_t *linger_out, int
*linger_time_out)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_TCP_GET_LINGER, globus_bool_t *linger_out, int
*linger_time_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_SET_OOBINLINE, globus_bool_t oobinline)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_TCP_SET_OOBINLINE, globus_bool_t oobinline)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_GET_OOBINLINE, globus_bool_t *oobinline_out)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_TCP_GET_OOBINLINE, globus_bool_t *oobinline_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_SET_SNDBUF, int sndbuf)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_TCP_SET_SNDBUF, int sndbuf)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_GET_SNDBUF, int *sndbuf_out)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_TCP_GET_SNDBUF, int *sndbuf_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_SET_RCVBUF, int rcvbuf)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_TCP_SET_RCVBUF, int rcvbuf)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_GET_RCVBUF, int *rcvbuf_out)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_TCP_GET_RCVBUF, int *rcvbuf_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_SET_NODELAY, globus_bool_t nodelay)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_TCP_SET_NODELAY, globus_bool_t nodelay)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_GET_NODELAY, globus_bool_t *nodelay_out)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_TCP_GET_NODELAY, globus_bool_t *nodelay_out)
globus_result_t globus_xio_data_descriptor_cntl (dd, driver,
GLOBUS_XIO_TCP_SET_SEND_FLAGS, int send_flags)
globus_result_t globus_xio_data_descriptor_cntl (dd, driver,
GLOBUS_XIO_TCP_GET_SEND_FLAGS, int *send_flags_out)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_TCP_GET_LOCAL_CONTACT, char **contact_string_out)
globus_result_t globus_xio_server_cntl (server, driver,
GLOBUS_XIO_TCP_GET_LOCAL_CONTACT, char **contact_string_out)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_TCP_GET_LOCAL_NUMERIC_CONTACT, char **contact_string_out)
globus_result_t globus_xio_server_cntl (server, driver,
GLOBUS_XIO_TCP_GET_LOCAL_NUMERIC_CONTACT, char **contact_string_out)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_TCP_GET_REMOTE_CONTACT, char **contact_string_out)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_TCP_GET_REMOTE_NUMERIC_CONTACT, char
**contact_string_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_AFFECT_ATTR_DEFAULTS, globus_bool_t affect_global)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_SET_BLOCKING_IO, globus_bool_t use_blocking_io)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_TCP_SET_BLOCKING_IO, globus_bool_t use_blocking_io)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_TCP_GET_BLOCKING_IO, globus_bool_t *use_blocking_io_out)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_TCP_GET_BLOCKING_IO, globus_bool_t *use_blocking_io_out)
π Detailed Description π
Attributes and Cntls.
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 globus_xio_tcp_cmd_t
doxygen varargs filter stuff TCP driver specific cntls π
bestie this is the big list of every cntl command the TCP driver fw knows about π
π Enumerator π
GLOBUS_XIO_TCP_SET_SERVICEβ See usage for:globus_xio_attr_cntlGLOBUS_XIO_TCP_GET_SERVICEβ See usage for:globus_xio_attr_cntlGLOBUS_XIO_TCP_SET_PORTβ See usage for:globus_xio_attr_cntlGLOBUS_XIO_TCP_GET_PORTβ See usage for:globus_xio_attr_cntlGLOBUS_XIO_TCP_SET_BACKLOGβ See usage for:globus_xio_attr_cntlGLOBUS_XIO_TCP_GET_BACKLOGβ See usage for:globus_xio_attr_cntlGLOBUS_XIO_TCP_SET_LISTEN_RANGEβ See usage for:globus_xio_attr_cntlGLOBUS_XIO_TCP_GET_LISTEN_RANGEβ See usage for:globus_xio_attr_cntlGLOBUS_XIO_TCP_GET_HANDLEβ See usage for:globus_xio_attr_cntl,globus_xio_handle_cntl,globus_xio_server_cntlGLOBUS_XIO_TCP_SET_HANDLEβ See usage for:globus_xio_attr_cntlGLOBUS_XIO_TCP_SET_INTERFACEβ See usage for:globus_xio_attr_cntlGLOBUS_XIO_TCP_GET_INTERFACEβ See usage for:globus_xio_attr_cntlGLOBUS_XIO_TCP_SET_RESTRICT_PORTβ See usage for:globus_xio_attr_cntlGLOBUS_XIO_TCP_GET_RESTRICT_PORTβ See usage for:globus_xio_attr_cntlGLOBUS_XIO_TCP_SET_REUSEADDRβ See usage for:globus_xio_attr_cntlGLOBUS_XIO_TCP_GET_REUSEADDRβ See usage for:globus_xio_attr_cntlGLOBUS_XIO_TCP_SET_NO_IPV6β See usage for:globus_xio_attr_cntlGLOBUS_XIO_TCP_GET_NO_IPV6β See usage for:globus_xio_attr_cntlGLOBUS_XIO_TCP_SET_CONNECT_RANGEβ See usage for:globus_xio_attr_cntlGLOBUS_XIO_TCP_GET_CONNECT_RANGEβ See usage for:globus_xio_attr_cntlGLOBUS_XIO_TCP_SET_KEEPALIVEβ See usage for:globus_xio_attr_cntl,globus_xio_handle_cntlGLOBUS_XIO_TCP_GET_KEEPALIVEβ See usage for:globus_xio_attr_cntl,globus_xio_handle_cntlGLOBUS_XIO_TCP_SET_LINGERβ See usage for:globus_xio_attr_cntl,globus_xio_handle_cntlGLOBUS_XIO_TCP_GET_LINGERβ See usage for:globus_xio_attr_cntl,globus_xio_handle_cntlGLOBUS_XIO_TCP_SET_OOBINLINEβ See usage for:globus_xio_attr_cntl,globus_xio_handle_cntlGLOBUS_XIO_TCP_GET_OOBINLINEβ See usage for:globus_xio_attr_cntl,globus_xio_handle_cntlGLOBUS_XIO_TCP_SET_SNDBUFβ See usage for:globus_xio_attr_cntl,globus_xio_handle_cntlGLOBUS_XIO_TCP_GET_SNDBUFβ See usage for:globus_xio_attr_cntl,globus_xio_handle_cntlGLOBUS_XIO_TCP_SET_RCVBUFβ See usage for:globus_xio_attr_cntl,globus_xio_handle_cntlGLOBUS_XIO_TCP_GET_RCVBUFβ See usage for:globus_xio_attr_cntl,globus_xio_handle_cntlGLOBUS_XIO_TCP_SET_NODELAYβ See usage for:globus_xio_attr_cntl,globus_xio_handle_cntlGLOBUS_XIO_TCP_GET_NODELAYβ See usage for:globus_xio_attr_cntl,globus_xio_handle_cntlGLOBUS_XIO_TCP_SET_SEND_FLAGSβ See usage for:globus_xio_data_descriptor_cntlGLOBUS_XIO_TCP_GET_SEND_FLAGSβ See usage for:globus_xio_data_descriptor_cntlGLOBUS_XIO_TCP_GET_LOCAL_CONTACTβ See usage for:globus_xio_handle_cntl,globus_xio_server_cntlGLOBUS_XIO_TCP_GET_LOCAL_NUMERIC_CONTACTβ See usage for:globus_xio_handle_cntl,globus_xio_server_cntlGLOBUS_XIO_TCP_GET_REMOTE_CONTACTβ See usage for:globus_xio_handle_cntlGLOBUS_XIO_TCP_GET_REMOTE_NUMERIC_CONTACTβ See usage for:globus_xio_handle_cntlGLOBUS_XIO_TCP_AFFECT_ATTR_DEFAULTSβ See usage for:globus_xio_attr_cntlGLOBUS_XIO_TCP_SET_BLOCKING_IOβ See usage for:globus_xio_attr_cntl,globus_xio_handle_cntlGLOBUS_XIO_TCP_GET_BLOCKING_IOβ See usage for:globus_xio_attr_cntl,globus_xio_handle_cntl
π₯ Function Documentation π₯
okay bestie, every single one of these is an overloaded member function β the docs say it's "provided for convenience" and it "differs from the above function only in what argument(s) it accepts." So like, same name, different lil argument lineup. classic π
π GLOBUS_XIO_TCP_AFFECT_ATTR_DEFAULTS
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_AFFECT_ATTR_DEFAULTS , globus_bool_t affect_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. β¨
Parameters
affect_globalβ IfGLOBUS_TRUE, any future cntls on this attr will access the global default attr (which all new attrs are initialized from). The default isGLOBUS_FALSE.
β οΈ bestie listen to me on this one: 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. π
Some attrs make no sense to change globally, fr fr. Attrs that do include the tcp port range stuff, socket buffer sizes, etc.
π¦ GLOBUS_XIO_TCP_GET_BACKLOG
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_GET_BACKLOG , 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_XIO_TCP_GET_BLOCKING_IO
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_GET_BLOCKING_IO , 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_TRUEfor enabled. π
π GLOBUS_XIO_TCP_GET_CONNECT_RANGE
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_GET_CONNECT_RANGE , 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_XIO_TCP_GET_HANDLE
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_GET_HANDLE , 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_HANDLEwill be set.
π§ GLOBUS_XIO_TCP_GET_INTERFACE
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_GET_INTERFACE , 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,NULLwill be passed back. Otherwise, the interface will be duplicated withstrdup()and the user should callfree()on it. π«Ά
not me reminding you to free that thing β the docs literally say the user should call free() on it, so like, do that π
π
GLOBUS_XIO_TCP_GET_KEEPALIVE
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_GET_KEEPALIVE , 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_XIO_TCP_GET_LINGER
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_GET_LINGER , 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_XIO_TCP_GET_LISTEN_RANGE
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_GET_LISTEN_RANGE , 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_XIO_TCP_GET_NO_IPV6
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_GET_NO_IPV6 , 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_XIO_TCP_GET_NODELAY
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_GET_NODELAY , 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_XIO_TCP_GET_OOBINLINE
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_GET_OOBINLINE , 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_XIO_TCP_GET_PORT
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_GET_PORT , 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_XIO_TCP_GET_RCVBUF
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_GET_RCVBUF , 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_XIO_TCP_GET_RESTRICT_PORT
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_GET_RESTRICT_PORT , 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_XIO_TCP_GET_REUSEADDR
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_GET_REUSEADDR , 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. β»οΈ
yes bestie the parameter is spelled resuseaddr_out in the original and we are NOT touching it β character for character, no cap π
β¨ globus_xio_attr_cntl β GLOBUS_XIO_TCP_GET_SERVICE
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_GET_SERVICE , char ** service_name_out)
okay so this is an overloaded member function, provided for convenience, bestie π it differs from the above function only in what argument(s) it accepts. Basically: get the tcp service name to bind to. slay.
Parameters
service_name_outβ A pointer to the service name will be stored here. If none is set,NULLwill be passed back. Otherwise, the name will be duplicated withstrdup()and the user should callfree()on it. yes you have to free it yourself, that's not me being dramatic, that's the deal π«Ά
β¨ globus_xio_attr_cntl β GLOBUS_XIO_TCP_GET_SNDBUF
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_GET_SNDBUF , int * sndbuf_out)
Again, 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. either one, she's flexible like that β¨
Parameters
sndbuf_outβ The send buffer size will be stored here.
β¨ globus_xio_attr_cntl β GLOBUS_XIO_TCP_SET_BACKLOG
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_SET_BACKLOG , int listener_backlog)
Overloaded member function, provided for convenience, 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_xio_attr_cntl β GLOBUS_XIO_TCP_SET_BLOCKING_IO
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_SET_BLOCKING_IO , globus_bool_t use_blocking_io)
Overloaded member function, provided for convenience, 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. not me exaggerating β that is a direct quote of the energy, fr fr. π
Parameters
use_blocking_ioβ IfGLOBUS_TRUE, true blocking io will be enabled.GLOBUS_FALSEwill disable it (default);
β¨ globus_xio_attr_cntl β GLOBUS_XIO_TCP_SET_CONNECT_RANGE
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_SET_CONNECT_RANGE , int connector_min_port, int
connector_max_port)
Overloaded member function, provided for convenience, 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. the range is doing the most, honestly π
Parameters
connector_min_portβ The lower bound on the listener port. (default0-- no bound)connector_max_portβ The upper bound on the listener port. (default0-- no bound)
See also
GLOBUS_XIO_TCP_SET_RESTRICT_PORT
β¨ globus_xio_attr_cntl β GLOBUS_XIO_TCP_SET_HANDLE
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_SET_HANDLE , globus_xio_system_socket_t handle)
Overloaded member function, provided for convenience, 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. so like, that's your problem to manage, bestie π«Ά
β¨ globus_xio_attr_cntl β GLOBUS_XIO_TCP_SET_INTERFACE
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_SET_INTERFACE , const char * interface)
Overloaded member function, provided for convenience, 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_xio_attr_cntl β GLOBUS_XIO_TCP_SET_KEEPALIVE
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_SET_KEEPALIVE , globus_bool_t keepalive)
Overloaded member function, provided for convenience, 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. lowkey a vibe check for your socket π₯
Parameters
keepaliveβGLOBUS_TRUEto enable,GLOBUS_FALSEto disable (default)
string opt: keepalive=bool
β¨ globus_xio_attr_cntl β GLOBUS_XIO_TCP_SET_LINGER
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_SET_LINGER , globus_bool_t linger, int linger_time)
Overloaded member function, provided for convenience, 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. so she either waits patiently or leaves instantly, no in between πΈ
Parameters
lingerβGLOBUS_TRUEto enable,GLOBUS_FALSEto disable (default)linger_timeβ The time (in seconds) to block at close time iflingeris true and data is queued in the socket buffer.
β¨ globus_xio_attr_cntl β GLOBUS_XIO_TCP_SET_LISTEN_RANGE
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_SET_LISTEN_RANGE , int listener_min_port, int
listener_max_port)
Overloaded member function, provided for convenience, 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. (default0-- no bound)listener_max_portβ The upper bound on the listener port. (default0-- no bound)
See also
GLOBUS_XIO_TCP_SET_RESTRICT_PORT
string opt: listen_range=int,int
β¨ globus_xio_attr_cntl β GLOBUS_XIO_TCP_SET_NO_IPV6
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_SET_NO_IPV6 , globus_bool_t no_ipv6)
Overloaded member function, provided for convenience, 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_TRUEto disallow ipv6,GLOBUS_FALSEto allow (default)
string opt: noipv6=bool
β¨ globus_xio_attr_cntl β GLOBUS_XIO_TCP_SET_NODELAY
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_SET_NODELAY , globus_bool_t nodelay)
Overloaded member function, provided for convenience, 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. no waiting around, main character energy only π
Parameters
nodelayβGLOBUS_TRUEto disable nagle,GLOBUS_FALSEto enable (default)
string opt: nodelay=bool
β¨ globus_xio_attr_cntl β GLOBUS_XIO_TCP_SET_OOBINLINE
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_SET_OOBINLINE , globus_bool_t oobinline)
Overloaded member function, provided for convenience, 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) β so like, this is the only door, bestie πͺ
Parameters
oobinlineβGLOBUS_TRUEto enable,GLOBUS_FALSEto disable (default)
β¨ globus_xio_attr_cntl β GLOBUS_XIO_TCP_SET_PORT
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_SET_PORT , int listener_port)
Overloaded member function, provided for convenience, 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. service name gets first dibs, port is the backup dancer π
string opt: port=int
β¨ globus_xio_attr_cntl β GLOBUS_XIO_TCP_SET_RCVBUF
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_SET_RCVBUF , int rcvbuf)
Overloaded member function, provided for convenience, 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. the OS is watching and taking notes π
Parameters
rcvbufβ The receive buffer size in bytes. (default is system specific)
string opt: rcvbuf=formatted int
β¨ globus_xio_attr_cntl β GLOBUS_XIO_TCP_SET_RESTRICT_PORT
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_SET_RESTRICT_PORT , globus_bool_t restrict_port)
Overloaded member function, provided for convenience, 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. (yes it says "then env" β I'm not fixing her typo, I'm just reporting it π«Ά)
Parameters
restrict_portβGLOBUS_TRUEto enable (default),GLOBUS_FALSEto disable.
See also
GLOBUS_XIO_TCP_SET_LISTEN_RANGEGLOBUS_XIO_TCP_SET_CONNECT_RANGE
β¨ globus_xio_attr_cntl β GLOBUS_XIO_TCP_SET_REUSEADDR
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_TCP_SET_REUSEADDR , globus_bool_t resuseaddr)
Overloaded member function, provided for convenience, 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. and yes the parameter is literally spelled resuseaddr in the source β we don't gatekeep, we report faithfully π
resuseaddrβ GLOBUS_TRUE to allow it, GLOBUS_FALSE to not allow it. (default)
string opt: reuse=bool
πΈ globus_result_t globus_xio_attr_cntl (attr , driver , GLOBUS_XIO_TCP_SET_SERVICE , const char * service_name)
okay bestie this one is an overloaded member function β it's literally the same as the one above, the only thing different is what args it takes. no cap. π
It sets 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 you're setting up the listener. And here's the tea π«: if that service name can't be resolved, the port (if one is set) gets used instead.
string opt: port=string
π globus_result_t globus_xio_attr_cntl (attr , driver , GLOBUS_XIO_TCP_SET_SNDBUF , int sndbuf)
another overloaded member function, provided for convenience, differing from the above function only in what argument(s) it accepts. β¨ Sets 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_data_descriptor_cntl (dd , driver , GLOBUS_XIO_TCP_GET_SEND_FLAGS , int * send_flags_out)
yep, overloaded member function, convenience, differs only in args, you know the drill. π Gets the tcp send flags.
Parameters
send_flags_outβ the flags to use get stored right here.
π globus_result_t globus_xio_data_descriptor_cntl (dd , driver , GLOBUS_XIO_TCP_SET_SEND_FLAGS , int send_flags)
same overloaded member function situation, only the args differ. Sets the 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_handle_cntl (handle , driver , GLOBUS_XIO_TCP_GET_BLOCKING_IO , globus_bool_t * use_blocking_io_out)
<彩θΉ>overloaded member function moment, differs only in args, etc etc π . Gets the blocking io status that's in use, or the one sitting in the attr.
Parameters
use_blocking_io_outβ the flag gets set here. GLOBUS_TRUE means enabled.
π§ globus_result_t globus_xio_handle_cntl (handle , driver , GLOBUS_XIO_TCP_GET_HANDLE , globus_xio_system_socket_t * handle_out)
overloaded member function, provided for convenience, differing from the above only in args β¨. Gets the tcp socket handle on an attr, handle, or server.
Parameters
handle_outβ the tcp socket gets stored here. And if none is set,GLOBUS_XIO_TCP_INVALID_HANDLEgets set instead.
π globus_result_t globus_xio_handle_cntl (handle , driver , GLOBUS_XIO_TCP_GET_KEEPALIVE , globus_bool_t * keepalive_out)
overloaded member function, convenience, args differ, love that for us. Gets the tcp keepalive flag.
Parameters
keepalive_outβ the tcp keepalive flag gets stored here.
π globus_result_t globus_xio_handle_cntl (handle , driver , GLOBUS_XIO_TCP_GET_LINGER , globus_bool_t * linger_out, int * linger_time_out)
overloaded member function, convenience, differs only in args, iconic. Gets the tcp linger flag and time.
Parameters
linger_outβ the linger flag gets stored here.linger_time_outβ the linger time gets set here.
π globus_result_t globus_xio_handle_cntl (handle , driver , GLOBUS_XIO_TCP_GET_LOCAL_CONTACT , char ** contact_string_out)
overloaded member function, convenience, differs only in args π«. Gets local socket info.
Parameters
contact_string_outβ a pointer to a contact string for the local end of a connected socket or listener gets stored here. The user shouldfree()it when done with it. It'll be in this format:<hostname>:<port>
See also
globus_xio_server_get_contact_string()GLOBUS_XIO_GET_LOCAL_CONTACT
π«Ά globus_result_t globus_xio_handle_cntl (handle , driver , GLOBUS_XIO_TCP_GET_LOCAL_NUMERIC_CONTACT , char ** contact_string_out)
overloaded member function, convenience, differs only in args. Gets local socket info.
Parameters
contact_string_outβ a pointer to a contact string for the local end of a connected socket or listener gets stored here. The user shouldfree()it when done with it. Format:<ip>:<port>
See also
GLOBUS_XIO_GET_LOCAL_NUMERIC_CONTACT
π₯ globus_result_t globus_xio_handle_cntl (handle , driver , GLOBUS_XIO_TCP_GET_NODELAY , globus_bool_t * nodelay_out)
overloaded member function, convenience, differs only in args, periodt. Gets the tcp nodelay flag.
Parameters
nodelay_outβ the no delay flag gets stored here.
π globus_result_t globus_xio_handle_cntl (handle , driver , GLOBUS_XIO_TCP_GET_OOBINLINE , globus_bool_t * oobinline_out)
overloaded member function, convenience, differs only in args π. Gets the oobinline flag.
Parameters
oobinline_outβ the oobinline flag gets stored here.
π
globus_result_t globus_xio_handle_cntl (handle , driver , GLOBUS_XIO_TCP_GET_RCVBUF , int * rcvbuf_out)
overloaded member function, convenience, differs only in args. Gets the tcp receive buffer size on the attr or handle.
Parameters
rcvbuf_outβ the receive buffer size gets stored here.
π¦ globus_result_t globus_xio_handle_cntl (handle , driver , GLOBUS_XIO_TCP_GET_REMOTE_CONTACT , char ** contact_string_out)
overloaded member function, convenience, differs only in args β¨. Gets remote socket info.
Parameters
contact_string_outβ a pointer to a contact string for the remote end of a connected socket gets stored here. The user shouldfree()it when done with it. Format:<hostname>:<port>
See also
GLOBUS_XIO_GET_REMOTE_CONTACT
π globus_result_t globus_xio_handle_cntl (handle , driver , GLOBUS_XIO_TCP_GET_REMOTE_NUMERIC_CONTACT , char ** contact_string_out)
overloaded member function, convenience, differs only in args πΈ. Gets remote socket info.
Parameters
contact_string_outβ a pointer to a contact string for the remote end of a connected socket gets stored here. The user shouldfree()it when done with it. Format:<ip>:<port>
See also
GLOBUS_XIO_GET_REMOTE_NUMERIC_CONTACT
β globus_result_t globus_xio_handle_cntl (handle , driver , GLOBUS_XIO_TCP_GET_SNDBUF , int * sndbuf_out)
overloaded member function, convenience, differs only in args π. Gets the tcp send buffer size on the attr or handle.
Parameters
sndbuf_outβ the send buffer size gets stored here.
π¨ globus_result_t globus_xio_handle_cntl (handle , driver , GLOBUS_XIO_TCP_SET_BLOCKING_IO , globus_bool_t use_blocking_io)
overloaded member function, convenience, differs only in args. Enables true blocking io when you're making globus_xio_read/write() calls.
β οΈ Note: use with caution. you can deadlock an entire app with this. π like genuinely, be careful bestie.
Parameters
use_blocking_ioβ if GLOBUS_TRUE, true blocking io gets enabled. GLOBUS_FALSE disables it (default);
π globus_result_t globus_xio_handle_cntl (handle , driver , GLOBUS_XIO_TCP_SET_KEEPALIVE , globus_bool_t keepalive)
overloaded member function, convenience, differs only in args. Enables tcp keepalive.
Used on attrs for globus_xio_server_create(), globus_xio_register_open() and with globus_xio_handle_cntl() to decide 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 , GLOBUS_XIO_TCP_SET_LINGER , globus_bool_t linger, int linger_time)
overloaded member function, convenience, differs only in args. Sets tcp linger.
Used on attrs for globus_xio_server_create(), globus_xio_register_open() and with globus_xio_handle_cntl() to decide what happens when data is still sitting in the socket's buffer and the socket gets closed. π«
So here's the breakdown, bestie: if linger is set to true, then the close operation will block until the socket buffers are empty, or until linger_time has expired. If it's enabled, any data still remaining after the linger time has expired gets discarded. If it's 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 , GLOBUS_XIO_TCP_SET_NODELAY , globus_bool_t nodelay)
overloaded member function, convenience, differs only in args. Disables Nagle's algorithm. β¨
Used on attrs for globus_xio_server_create(), globus_xio_register_open() and with globus_xio_handle_cntl() to decide whether or not to disable Nagle's algorithm. If it's set to GLOBUS_TRUE, the socket will send packets as soon as possible with no unnecessary delays introduced. no waiting around, main character energy π
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 , GLOBUS_XIO_TCP_SET_OOBINLINE , globus_bool_t oobinline)
overloaded member function, convenience, differs only in args. Receives 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 π like, that's the only route, bestie)
Parameters:
oobinlineβGLOBUS_TRUEto enable,GLOBUS_FALSEto disable (default)
globus_result_t globus_xio_handle_cntl (handle , driver , GLOBUS_XIO_TCP_SET_RCVBUF , int rcvbuf)
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. (the OS is literally picking your window size based on this, no cap πͺ)
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 , GLOBUS_XIO_TCP_SET_SNDBUF , int sndbuf)
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_server_cntl (server , driver , GLOBUS_XIO_TCP_GET_HANDLE , 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_HANDLEwill be set. (so like, check for that π)
globus_result_t globus_xio_server_cntl (server , driver , GLOBUS_XIO_TCP_GET_LOCAL_CONTACT , 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. πΈ
Parameters:
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 shouldfree()it when done with it. It will be in the format:<hostname>:<port>(yes bestie, you own that memory, pls free it π)
See also:
globus_xio_server_get_contact_string()GLOBUS_XIO_GET_LOCAL_CONTACT
globus_result_t globus_xio_server_cntl (server , driver , GLOBUS_XIO_TCP_GET_LOCAL_NUMERIC_CONTACT , 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. π¦
Parameters:
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 shouldfree()it when done with it. It will be in the format:<ip>:<port>(numeric this time, no hostname drama π )
See also:
GLOBUS_XIO_GET_LOCAL_NUMERIC_CONTACT
Author β¨
Generated automatically by Doxygen for globus_xio from the source code. π€ (not me writing this by hand, the robot did it, and honestly? slay)
And that's the whole page, bestie β you ate it. π This lil gem came from the globus_xio source code, it's Version 6.6 energy all the way, and it's the globus_xio...river_cntls(3) page you've been vibing with this whole time. Go forth and control those TCP drivers, main character. π
π¦ where this page comes from
- fedora 43: globus-xio-doc 6.6-9.fc43 Β· Apache-2.0
- fedora 44: globus-xio-doc 6.6-10.fc44 Β· Apache-2.0
- ubuntu resolute: libglobus-xio-doc 6.6-3build2 Β· Apache-2.0
- ubuntu stonking: libglobus-xio-doc 6.6-4 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms