GLOBUS_XIO_UDP_SET_MULTICAST(3)
๐ globus_xio_udp_driver_cntls(3) ๐
okay so bestie, welcome to the Library Functions Manual entry for globus_xio_udp_driver_cntls(3) โ yes the name is a whole mouthful, but stay with me, it's giving very useful actually. ๐ฆ
โจ NAME โจ
globus_xio_udp_driver_cntls โ Attributes and Cntls
- Attributes and Cntls. (yes, that's literally what it says, twice, because the manpage said it twice ๐)
๐ SYNOPSIS ๐
Enumerations
enum globus_xio_udp_cmd_t {
GLOBUS_XIO_UDP_SET_HANDLE,
GLOBUS_XIO_UDP_SET_SERVICE,
GLOBUS_XIO_UDP_GET_SERVICE,
GLOBUS_XIO_UDP_SET_PORT,
GLOBUS_XIO_UDP_GET_PORT,
GLOBUS_XIO_UDP_SET_LISTEN_RANGE,
GLOBUS_XIO_UDP_GET_LISTEN_RANGE,
GLOBUS_XIO_UDP_SET_INTERFACE,
GLOBUS_XIO_UDP_GET_INTERFACE,
GLOBUS_XIO_UDP_SET_RESTRICT_PORT,
GLOBUS_XIO_UDP_GET_RESTRICT_PORT,
GLOBUS_XIO_UDP_SET_REUSEADDR,
GLOBUS_XIO_UDP_GET_REUSEADDR,
GLOBUS_XIO_UDP_SET_NO_IPV6,
GLOBUS_XIO_UDP_GET_NO_IPV6,
GLOBUS_XIO_UDP_GET_HANDLE,
GLOBUS_XIO_UDP_SET_SNDBUF,
GLOBUS_XIO_UDP_GET_SNDBUF,
GLOBUS_XIO_UDP_SET_RCVBUF,
GLOBUS_XIO_UDP_GET_RCVBUF,
GLOBUS_XIO_UDP_GET_CONTACT,
GLOBUS_XIO_UDP_GET_NUMERIC_CONTACT,
GLOBUS_XIO_UDP_SET_CONTACT,
GLOBUS_XIO_UDP_CONNECT,
GLOBUS_XIO_UDP_SET_MULTICAST
}
Functions
here's the full roster, no skipping, every single one is iconic in its own way โจ
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_UDP_SET_HANDLE, globus_xio_system_socket_t handle)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_UDP_SET_SERVICE, const char *service_name)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_UDP_GET_SERVICE, char **service_name_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_UDP_SET_PORT, int listener_port)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_UDP_GET_PORT, int *listener_port_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_UDP_SET_LISTEN_RANGE, int listener_min_port, int
listener_max_port)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_UDP_GET_LISTEN_RANGE, int *listener_min_port_out, int
*listener_max_port_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_UDP_SET_INTERFACE, const char *interface)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_UDP_GET_INTERFACE, char **interface_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_UDP_SET_RESTRICT_PORT, globus_bool_t restrict_port)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_UDP_GET_RESTRICT_PORT, globus_bool_t *restrict_port_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_UDP_SET_REUSEADDR, globus_bool_t resuseaddr)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_UDP_GET_REUSEADDR, globus_bool_t *resuseaddr_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_UDP_SET_NO_IPV6, globus_bool_t no_ipv6)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_UDP_GET_NO_IPV6, globus_bool_t *no_ipv6_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_UDP_GET_HANDLE, globus_xio_system_socket_t *handle_out)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_UDP_GET_HANDLE, globus_xio_system_socket_t *handle_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_UDP_SET_SNDBUF, int sndbuf)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_UDP_SET_SNDBUF, int sndbuf)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_UDP_GET_SNDBUF, int *sndbuf_out)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_UDP_GET_SNDBUF, int *sndbuf_out)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_UDP_SET_RCVBUF, int rcvbuf)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_UDP_SET_RCVBUF, int rcvbuf)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_UDP_GET_RCVBUF, int *rcvbuf_out)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_UDP_GET_RCVBUF, int *rcvbuf_out)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_UDP_GET_CONTACT, char **contact_string_out)
globus_result_t globus_xio_data_descriptor_cntl (dd, driver,
GLOBUS_XIO_UDP_GET_CONTACT, char **contact_string_out)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_UDP_GET_NUMERIC_CONTACT, char **contact_string_out)
globus_result_t globus_xio_data_descriptor_cntl (dd, driver,
GLOBUS_XIO_UDP_GET_NUMERIC_CONTACT, char **contact_string_out)
globus_result_t globus_xio_data_descriptor_cntl (dd, driver,
GLOBUS_XIO_UDP_SET_CONTACT, char *contact_string)
globus_result_t globus_xio_handle_cntl (handle, driver,
GLOBUS_XIO_UDP_CONNECT, char *contact_string)
globus_result_t globus_xio_attr_cntl (attr, driver,
GLOBUS_XIO_UDP_SET_MULTICAST, char *contact_string)
๐ธ Detailed Description ๐ธ
Attributes and Cntls.
UDP driver specific attrs and cntls. (translation: these are the knobs the UDP driver lets you twist, bestie ๐)
See also
globus_xio_attr_cntl()globus_xio_handle_cntl()globus_xio_data_descriptor_cntl()
๐ซถ Enumeration Type Documentation ๐ซถ
enum globus_xio_udp_cmd_t
doxygen varargs filter stuff UDP driver specific cntls
Enumerator
GLOBUS_XIO_UDP_SET_HANDLEโ See usage for:globus_xio_attr_cntlGLOBUS_XIO_UDP_SET_SERVICEโ See usage for:globus_xio_attr_cntlGLOBUS_XIO_UDP_GET_SERVICEโ See usage for:globus_xio_attr_cntlGLOBUS_XIO_UDP_SET_PORTโ See usage for:globus_xio_attr_cntlGLOBUS_XIO_UDP_GET_PORTโ See usage for:globus_xio_attr_cntlGLOBUS_XIO_UDP_SET_LISTEN_RANGEโ See usage for:globus_xio_attr_cntlGLOBUS_XIO_UDP_GET_LISTEN_RANGEโ See usage for:globus_xio_attr_cntlGLOBUS_XIO_UDP_SET_INTERFACEโ See usage for:globus_xio_attr_cntlGLOBUS_XIO_UDP_GET_INTERFACEโ See usage for:globus_xio_attr_cntlGLOBUS_XIO_UDP_SET_RESTRICT_PORTโ See usage for:globus_xio_attr_cntlGLOBUS_XIO_UDP_GET_RESTRICT_PORTโ See usage for:globus_xio_attr_cntlGLOBUS_XIO_UDP_SET_REUSEADDRโ See usage for:globus_xio_attr_cntlGLOBUS_XIO_UDP_GET_REUSEADDRโ See usage for:globus_xio_attr_cntlGLOBUS_XIO_UDP_SET_NO_IPV6โ See usage for:globus_xio_attr_cntlGLOBUS_XIO_UDP_GET_NO_IPV6โ See usage for:globus_xio_attr_cntlGLOBUS_XIO_UDP_GET_HANDLEโ See usage for:globus_xio_attr_cntl,globus_xio_handle_cntlGLOBUS_XIO_UDP_SET_SNDBUFโ See usage for:globus_xio_attr_cntl,globus_xio_handle_cntlGLOBUS_XIO_UDP_GET_SNDBUFโ See usage for:globus_xio_attr_cntl,globus_xio_handle_cntlGLOBUS_XIO_UDP_SET_RCVBUFโ See usage for:globus_xio_attr_cntl,globus_xio_handle_cntlGLOBUS_XIO_UDP_GET_RCVBUFโ See usage for:globus_xio_attr_cntl,globus_xio_handle_cntlGLOBUS_XIO_UDP_GET_CONTACTโ See usage for:globus_xio_handle_cntl,globus_xio_data_descriptor_cntlGLOBUS_XIO_UDP_GET_NUMERIC_CONTACTโ See usage for:globus_xio_handle_cntl,globus_xio_data_descriptor_cntlGLOBUS_XIO_UDP_SET_CONTACTโ See usage for:globus_xio_data_descriptor_cntlGLOBUS_XIO_UDP_CONNECTโ See usage for:globus_xio_handle_cntlGLOBUS_XIO_UDP_SET_MULTICASTโ See usage for:globus_xio_attr_cntl
๐ Function Documentation ๐
globus_result_t globus_xio_attr_cntl (attr , driver , GLOBUS_XIO_UDP_GET_HANDLE , globus_xio_system_socket_t * handle_out)
okay so real talk: this is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. ๐ซ Get the socket handle on an attr or handle.
Parameters
handle_outโ The udp socket will be stored here. If none is set,GLOBUS_XIO_UDP_INVALID_HANDLEwill be set.
globus_result_t globus_xio_attr_cntl (attr , driver , GLOBUS_XIO_UDP_GET_INTERFACE , char ** interface_out)
again, this one's 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.
bestie please actually free() it, don't leak, that's not the vibe ๐ญ
globus_result_t globus_xio_attr_cntl (attr , driver , GLOBUS_XIO_UDP_GET_LISTEN_RANGE , int * listener_min_port_out, int * listener_max_port_out)
yep, another overloaded member function, provided for convenience โ differs from the above only in what argument(s) it accepts. Get the udp 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 , GLOBUS_XIO_UDP_GET_NO_IPV6 , globus_bool_t * no_ipv6_out)
overloaded member function, provided for convenience, differs from the above only in what argument(s) it accepts, you know the drill ๐ 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 , GLOBUS_XIO_UDP_GET_PORT , int * listener_port_out)
same deal โ overloaded member function, provided for convenience, only differs from the above in what argument(s) it accepts. This one is about the port number to listen on. ๐
Parameters
listener_port_outโ The port will be stored here.
globus_result_t globus_xio_attr_cntl (attr , driver , GLOBUS_XIO_UDP_GET_RCVBUF , int * rcvbuf_out)
overloaded member function, provided for convenience, differs from the above only in what argument(s) it accepts. Get the 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 , GLOBUS_XIO_UDP_GET_RESTRICT_PORT , globus_bool_t * restrict_port_out)
overloaded member function, provided for convenience, differs from the above 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 , GLOBUS_XIO_UDP_GET_REUSEADDR , globus_bool_t * resuseaddr_out)
overloaded member function, provided for convenience, differs from the above only in what argument(s) it accepts. Get the reuseaddr flag on an attr. ๐
Parameters
resuseaddr_outโ The reuseaddr flag will be stored here.
ngl the spelling resuseaddr_out is a whole choice, but it's canon, so we keep it exactly, no cap ๐
globus_result_t globus_xio_attr_cntl (attr , driver , GLOBUS_XIO_UDP_GET_SERVICE , char ** service_name_out)
overloaded member function, provided for convenience, differs from the above only in what argument(s) it accepts. Get the service name to listen on. ๐
service_name_outโ bestie, this is where the service name gets dropped off ๐ซถ. If nothing's been set, you getNULLback. Otherwise the name gets duplicated withstrdup()and you are the one who has tofree()it. Yes, you. Don't forget. ๐ญ
globus_xio_attr_cntl โ GLOBUS_XIO_UDP_GET_SNDBUF โจ
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_UDP_GET_SNDBUF , int * sndbuf_out)
okay so this is an overloaded member function, provided for convenience โ it differs from the function above it only in what argument(s) it accepts. It gets the send buffer size off the attr or the handle. ๐
sndbuf_outโ the send buffer size gets parked right here. ๐ฅ
globus_xio_attr_cntl โ GLOBUS_XIO_UDP_SET_HANDLE ๐
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_UDP_SET_HANDLE , globus_xio_system_socket_t handle)
another overloaded member function provided for convenience, differing from the one above only in what argument(s) it accepts. It sets the udp socket you want to use. ๐ฆ
handleโ use this handle (fd or SOCKET).
โ ๏ธ heads up bestie: close() will not be called on this handle. So if you were relying on that, nope, not happening. ๐
globus_xio_attr_cntl โ GLOBUS_XIO_UDP_SET_INTERFACE ๐ธ
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_UDP_SET_INTERFACE , const char * interface)
yet another overloaded member function, convenience-flavored, differing from the above only in what argument(s) it accepts. This one sets the interface to bind the socket to. ๐ง
interfaceโ the interface to use. Can be a hostname or numeric IP. ๐ซถ
globus_xio_attr_cntl โ GLOBUS_XIO_UDP_SET_LISTEN_RANGE ๐ฅ
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_UDP_SET_LISTEN_RANGE , int listener_min_port, int
listener_max_port)
yes bestie, another overloaded member function for convenience, differing from the above function only in what argument(s) it accepts. This one sets the port range to confine the listener to. ๐ฏ
This is used only where no specific service or port has been set. It overrides the range set in the GLOBUS_UDP_PORT_RANGE env variable. And if restrict port is true, the listening port gets constrained to the range you specified. periodt. ๐
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_UDP_SET_RESTRICT_PORT ๐
globus_xio_attr_cntl โ GLOBUS_XIO_UDP_SET_MULTICAST ๐
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_UDP_SET_MULTICAST , char * contact_string)
okay so this is an overloaded member function provided for convenience, differing from the above function only in what argument(s) it accepts. It joins a multicast group. ๐
Specify a multicast group to join. Every packet you receive will be to the specified multicast address. And listen, bestie, this is important: do not use GLOBUS_XIO_UDP_CONNECT, GLOBUS_XIO_UDP_SET_PORT, or pass a contact string on the open. Just don't. ๐
โโ๏ธ
Consider using GLOBUS_XIO_UDP_SET_REUSEADDR so other apps can join this group too โ sharing is caring. ๐ Use GLOBUS_XIO_UDP_SET_INTERFACE to specify which interface to use.
๐ It will not affect handles set withGLOBUS_XIO_UDP_SET_HANDLE. AndGLOBUS_XIO_UDP_SET_RESTRICT_PORTis ignored.
contact_stringโ a pointer to a contact string of the multicast group to join, with the format:<hostname/ip>:<port/service>๐
globus_xio_attr_cntl โ GLOBUS_XIO_UDP_SET_NO_IPV6 ๐
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_UDP_SET_NO_IPV6 , globus_bool_t no_ipv6)
another overloaded member function provided for convenience, differing from the above function only in what argument(s) it accepts. It restricts you to IPV4 only. ๐
Disallow IPV6 sockets from being used. (default is to use either ipv4 or ipv6 โ so you're only locking it down if you actually ask for it.)
no_ipv6โGLOBUS_TRUEto disallow ipv6,GLOBUS_FALSEto allow (default) โ โ
globus_xio_attr_cntl โ GLOBUS_XIO_UDP_SET_PORT ๐
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_UDP_SET_PORT , int listener_port)
an overloaded member function for convenience, differing from the above function only in what argument(s) it accepts. Sets the port number to listen on. ๐ข
The default is 0 (system assigned) โ so if you don't say anything, the system picks for you. iconic, honestly. โจ
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. ๐ค
globus_xio_attr_cntl โ GLOBUS_XIO_UDP_SET_RCVBUF ๐
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_UDP_SET_RCVBUF , int rcvbuf)
yep, overloaded member function, provided for convenience, differing from the above function only in what argument(s) it accepts. Sets the socket receive buffer size. ๐ฆ
Used to set the size of the receive buffer used on the socket.
rcvbufโ the receive buffer size in bytes. (default is system specific) ๐ซถ
globus_xio_attr_cntl โ GLOBUS_XIO_UDP_SET_RESTRICT_PORT ๐
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_UDP_SET_RESTRICT_PORT , globus_bool_t restrict_port)
another overloaded member function provided for convenience, differing from the above function only in what argument(s) it accepts. Enables or disables the listener range constraints. ๐ง
This enables or ignores the port range found in the attr or in then env. By default, those ranges are enabled. (that's right, bestie โ the constraints are ON unless you say otherwise ๐ )
restrict_portโGLOBUS_TRUEto enable (default),GLOBUS_FALSEto disable. โ โ
See also โ GLOBUS_XIO_UDP_SET_LISTEN_RANGE ๐
globus_xio_attr_cntl โ GLOBUS_XIO_UDP_SET_REUSEADDR โป๏ธ
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_UDP_SET_REUSEADDR , globus_bool_t resuseaddr)
an overloaded member function provided for convenience, differing from the above function only in what argument(s) it accepts. Reuse addr when binding. ๐
Used to determine whether or not to allow reuse of addresses when binding a socket to a port number.
resuseaddrโGLOBUS_TRUEto allow,GLOBUS_FALSEto disallow (default) โ โ
๐ yes, the parameter is spelled resuseaddr in the source. We don't make the rules, bestie, we just document them.
globus_xio_attr_cntl โ GLOBUS_XIO_UDP_SET_SERVICE ๐
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_UDP_SET_SERVICE , const char * service_name)
overloaded member function, convenience edition, differing from the above function only in what argument(s) it accepts. Sets the udp service name to listen on. ๐
service_nameโ the service name to use when setting up the listener. If the service name can't be resolved, the port (if one is set) will be used instead. ๐ซถ
globus_xio_attr_cntl โ GLOBUS_XIO_UDP_SET_SNDBUF ๐ค
globus_result_t globus_xio_attr_cntl (attr , driver ,
GLOBUS_XIO_UDP_SET_SNDBUF , int sndbuf)
yet another overloaded member function provided for convenience, differing from the above function only in what argument(s) it accepts. Sets the socket send buffer size. ๐จ
Used to set the size of the send buffer used on the socket.
sndbufโ the send buffer size in bytes to use. (default is system specific) ๐ฏ
globus_xio_data_descriptor_cntl โ GLOBUS_XIO_UDP_GET_CONTACT ๐
globus_result_t globus_xio_data_descriptor_cntl (dd , driver ,
GLOBUS_XIO_UDP_GET_CONTACT , char ** contact_string_out)
overloaded member function, provided for convenience, differing from the above function only in what argument(s) it accepts. Gets the contact string associated with a handle or data descriptor. ๐
Use it with globus_xio_handle_cntl() to get a contact string for the udp listener. Use it with globus_xio_data_descriptor_cntl() to get the sender's contact string from a data descriptor passed to globus_xio_register_read(). iykyk. ๐
contact_string_outโ a pointer to a contact string will be stored here. You shouldfree()it when you're done with it. It will be in the format:<hostname>:<port>๐
See also โ GLOBUS_XIO_GET_LOCAL_CONTACT ๐
globus_xio_data_descriptor_cntl โ GLOBUS_XIO_UDP_GET_NUMERIC_CONTACT ๐ข
globus_result_t globus_xio_data_descriptor_cntl (dd , driver ,
GLOBUS_XIO_UDP_GET_NUMERIC_CONTACT , char ** contact_string_out)
another overloaded member function provided for convenience, differing from the above function only in what argument(s) it accepts. Gets the contact string associated with a handle or data descriptor. ๐ฆ
Use it with globus_xio_handle_cntl() to get a contact string for the udp listener. Use it with globus_xio_data_descriptor_cntl() to get the sender's contact string from a data descriptor passed to globus_xio_register_read().
contact_string_outโ a pointer to a contact string will be stored here. You shouldfree()it when you're done with it. It will be in the format:<ip>:<port>๐
See also โ GLOBUS_XIO_GET_LOCAL_NUMERIC_CONTACT ๐
globus_xio_data_descriptor_cntl โ GLOBUS_XIO_UDP_SET_CONTACT ๐ฎ
globus_result_t globus_xio_data_descriptor_cntl (dd , driver ,
GLOBUS_XIO_UDP_SET_CONTACT , char * contact_string)
overloaded member function, provided for convenience, differing from the above function only in what argument(s) it accepts. Sets the destination contact. ๐ฏ
Use this on a data descriptor passed to globus_xio_register_write() to specify the recipient of the data. This is necessary with unconnected handles, or to send to recipients other than the connected one. so like, if you're not connected, you literally have to do this. ๐
contact_stringโ a pointer to a contact string of the format<hostname/ip>:<port/service>๐
See also โ GLOBUS_XIO_UDP_CONNECT ๐
globus_xio_handle_cntl โ GLOBUS_XIO_UDP_CONNECT ๐
globus_result_t globus_xio_handle_cntl (handle , driver ,
GLOBUS_XIO_UDP_CONNECT , char * contact_string)
an overloaded member function provided for convenience, differing from the above function only in what argument(s) it accepts. Sets the default destination contact. ๐ฏ
Connecting a handle to a specific contact blocks packets from any other contact. It also sets the default destination of all outgoing packets, so using GLOBUS_XIO_UDP_SET_CONTACT becomes unnecessary. one and done, bestie. โจ
contact_stringโ a pointer to a contact string of the format<hostname/ip>:<port/service>๐
globus_xio_handle_cntl โ GLOBUS_XIO_UDP_GET_CONTACT ๐
globus_result_t globus_xio_handle_cntl (handle , driver ,
GLOBUS_XIO_UDP_GET_CONTACT , char ** contact_string_out)
overloaded member function, provided for convenience, differing from the above function only in what argument(s) it accepts. Gets the contact string associated with a handle or data descriptor. ๐
Use it with globus_xio_handle_cntl() to get a contact string for the udp listener. Use it with globus_xio_data_descriptor_cntl() to get the sender's contact string from a data descriptor passed to globus_xio_register_read().
contact_string_outโ a pointer to a contact string will be stored here. You shouldfree()it when you're done with it. It will be in the format:<hostname>:<port>๐
See also โ GLOBUS_XIO_GET_LOCAL_CONTACT ๐
globus_xio_handle_cntl โ GLOBUS_XIO_UDP_GET_HANDLE ๐ซถ
globus_result_t globus_xio_handle_cntl (handle , driver ,
GLOBUS_XIO_UDP_GET_HANDLE , globus_xio_system_socket_t * handle_out)
another overloaded member function provided for convenience, differing from the above function only in what argument(s) it accepts. Gets the socket handle on an attr or handle. ๐
handle_outโ the udp socket will be stored here. If none is set,GLOBUS_XIO_UDP_INVALID_HANDLEwill be set. ๐
globus_xio_handle_cntl โ GLOBUS_XIO_UDP_GET_NUMERIC_CONTACT ๐ข
globus_result_t globus_xio_handle_cntl (handle , driver ,
GLOBUS_XIO_UDP_GET_NUMERIC_CONTACT , char ** contact_string_out)
overloaded member function, provided for convenience, differing from the above function only in what argument(s) it accepts. Gets the contact string associated with a handle or data descriptor. ๐ฆ
okay so continuing from where we left off, bestie โ no re-intro needed, we're in the thick of it ๐
Use with globus_xio_handle_cntl() to get a contact string for the udp listener. Use with globus_xio_data_descriptor_cntl() to get the sender's contact string from a data descriptor passed to globus_xio_register_read(). It's giving where u at energy, fr fr.
Parameters
contact_string_outโ a pointer to a contact string is gonna be stored right here. You shouldfree()it when you're done with it, okay? Don't leave it hanging. It'll be in the format:<ip>:<port>.
See also
GLOBUS_XIO_GET_LOCAL_NUMERIC_CONTACT
globus_result_t globus_xio_handle_cntl (handle , driver ,
GLOBUS_XIO_UDP_GET_RCVBUF , int * rcvbuf_out)
Bestie, this is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Basically same vibe, different args. Get the receive buffer size on the attr or handle.
Parameters
rcvbuf_outโ the receive buffer size will be stored here. Slay.
globus_result_t globus_xio_handle_cntl (handle , driver ,
GLOBUS_XIO_UDP_GET_SNDBUF , int * sndbuf_out)
Again, this is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the send buffer size on the attr or handle.
Parameters
sndbuf_outโ the send buffer size will be stored here. Iconic.
globus_result_t globus_xio_handle_cntl (handle , driver ,
GLOBUS_XIO_UDP_SET_RCVBUF , int rcvbuf)
Yep, this is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the socket receive buffer size.
Used to set the size of the receive buffer used on the socket.
Parameters
rcvbufโ the receive buffer size in bytes. (default is system specific)
globus_result_t globus_xio_handle_cntl (handle , driver ,
GLOBUS_XIO_UDP_SET_SNDBUF , int sndbuf)
Once more, this is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the socket send buffer size.
Used 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)
Author ๐ซถ
Generated automatically by Doxygen for globus_xio from the source code. So like, don't come for me, Doxygen wrote it. ๐
And that's the whole vibe, bestie. This page is from globus_xio, Version 6.6, and it's the globus_xio...river_cntls(3) page. The footer didn't give me a date, so consider this timeless. โจ Periodt. ๐ฆ
๐ฆ where this page comes from
- epel 10: globus-xio-doc 6.6-4.el10_0 ยท Apache-2.0
- 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