-
Carta.tech
-
Packages
-
libglobus-xio-doc
-
305
- GLOBUS_XIO_API.3
- Globus xio api -
- GLOBUS_XIO_API_ASSIST.3
- Help understanding the globus_xio api.
- GLOBUS_XIO_FILE_APPEND.3
- Types -
- GLOBUS_XIO_FILE_BINARY.3
- Types -
- GLOBUS_XIO_FILE_CREAT.3
- Types -
- GLOBUS_XIO_FILE_EXCL.3
- Types -
- GLOBUS_XIO_FILE_GET_BLOCKING_IO.3
- Attributes and cntls -
- GLOBUS_XIO_FILE_GET_FLAGS.3
- Attributes and cntls -
- GLOBUS_XIO_FILE_GET_HANDLE.3
- Attributes and cntls -
- GLOBUS_XIO_FILE_GET_MODE.3
- Attributes and cntls -
- GLOBUS_XIO_FILE_GET_TRUNC_OFFSET.3
- Attributes and cntls -
- GLOBUS_XIO_FILE_INVALID_HANDLE.3
- Types -
- GLOBUS_XIO_FILE_IRGRP.3
- Types -
- GLOBUS_XIO_FILE_IROTH.3
- Types -
- GLOBUS_XIO_FILE_IRUSR.3
- Types -
- GLOBUS_XIO_FILE_IRWXG.3
- Types -
- GLOBUS_XIO_FILE_IRWXO.3
- Types -
- GLOBUS_XIO_FILE_IRWXU.3
- Types -
- GLOBUS_XIO_FILE_IWGRP.3
- Types -
- GLOBUS_XIO_FILE_IWOTH.3
- Types -
- GLOBUS_XIO_FILE_IWUSR.3
- Types -
- GLOBUS_XIO_FILE_IXGRP.3
- Types -
- GLOBUS_XIO_FILE_IXOTH.3
- Types -
- GLOBUS_XIO_FILE_IXUSR.3
- Types -
- GLOBUS_XIO_FILE_RDONLY.3
- Types -
- GLOBUS_XIO_FILE_RDWR.3
- Types -
- GLOBUS_XIO_FILE_SEEK.3
- Attributes and cntls -
- GLOBUS_XIO_FILE_SEEK_CUR.3
- Types -
- GLOBUS_XIO_FILE_SEEK_END.3
- Types -
- GLOBUS_XIO_FILE_SEEK_SET.3
- Types -
- GLOBUS_XIO_FILE_SET_BLOCKING_IO.3
- Attributes and cntls -
- GLOBUS_XIO_FILE_SET_FLAGS.3
- Attributes and cntls -
- GLOBUS_XIO_FILE_SET_HANDLE.3
- Attributes and cntls -
- GLOBUS_XIO_FILE_SET_MODE.3
- Attributes and cntls -
- GLOBUS_XIO_FILE_SET_TRUNC_OFFSET.3
- Attributes and cntls -
- GLOBUS_XIO_FILE_TEXT.3
- Types -
- GLOBUS_XIO_FILE_TRUNC.3
- Types -
- GLOBUS_XIO_FILE_WRONLY.3
- Types -
- GLOBUS_XIO_GET_LOCAL_CONTACT.3
- Globus xio api -
- GLOBUS_XIO_GET_LOCAL_NUMERIC_CONTACT.3
- Globus xio api -
- GLOBUS_XIO_GET_REMOTE_CONTACT.3
- Globus xio api -
- GLOBUS_XIO_GET_REMOTE_NUMERIC_CONTACT.3
- Globus xio api -
- GLOBUS_XIO_HTTP_ATTR_DELAY_WRITE_HEADER.3
- Attributes and cntls -
- GLOBUS_XIO_HTTP_ATTR_SET_REQUEST_HEADER.3
- Attributes and cntls -
- GLOBUS_XIO_HTTP_ATTR_SET_REQUEST_HTTP_VERSION.3
- Attributes and cntls -
- GLOBUS_XIO_HTTP_ATTR_SET_REQUEST_METHOD.3
- Attributes and cntls -
- GLOBUS_XIO_HTTP_ERROR_EOF.3
- Error types -
- GLOBUS_XIO_HTTP_ERROR_INVALID_HEADER.3
- Error types -
- GLOBUS_XIO_HTTP_ERROR_NO_ENTITY.3
- Error types -
- GLOBUS_XIO_HTTP_ERROR_PARSE.3
- Error types -
- GLOBUS_XIO_HTTP_ERROR_PERSISTENT_CONNECTION_DROPPED.3
- Error types -
- GLOBUS_XIO_HTTP_GET_REQUEST.3
- Attributes and cntls -
- GLOBUS_XIO_HTTP_GET_RESPONSE.3
- Attributes and cntls -
- GLOBUS_XIO_HTTP_HANDLE_SET_END_OF_ENTITY.3
- Attributes and cntls -
- GLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_HEADER.3
- Attributes and cntls -
- GLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_HTTP_VERSION.3
- Attributes and cntls -
- GLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_REASON_PHRASE.3
- Attributes and cntls -
- GLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_STATUS_CODE.3
- Attributes and cntls -
- GLOBUS_XIO_HTTP_VERSION_1_0.3
- Globus xio http driver -
- GLOBUS_XIO_HTTP_VERSION_1_1.3
- Globus xio http driver -
- GLOBUS_XIO_MODE_E_DD_GET_OFFSET.3
- Attributes and cntls -
- GLOBUS_XIO_MODE_E_GET_MANUAL_EODC.3
- Attributes and cntls -
- GLOBUS_XIO_MODE_E_GET_NUM_STREAMS.3
- Attributes and cntls -
- GLOBUS_XIO_MODE_E_GET_OFFSET_READS.3
- Attributes and cntls -
- GLOBUS_XIO_MODE_E_GET_STACK.3
- Attributes and cntls -
- GLOBUS_XIO_MODE_E_GET_STACK_ATTR.3
- Attributes and cntls -
- GLOBUS_XIO_MODE_E_HEADER_ERROR.3
- Error types -
- GLOBUS_XIO_MODE_E_SEND_EOD.3
- Attributes and cntls -
- GLOBUS_XIO_MODE_E_SET_EODC.3
- Attributes and cntls -
- GLOBUS_XIO_MODE_E_SET_MANUAL_EODC.3
- Attributes and cntls -
- GLOBUS_XIO_MODE_E_SET_NUM_STREAMS.3
- Attributes and cntls -
- GLOBUS_XIO_MODE_E_SET_OFFSET_READS.3
- Attributes and cntls -
- GLOBUS_XIO_MODE_E_SET_STACK.3
- Attributes and cntls -
- GLOBUS_XIO_MODE_E_SET_STACK_ATTR.3
- Attributes and cntls -
- GLOBUS_XIO_ORDERING_ERROR_CANCEL.3
- Error types -
- GLOBUS_XIO_ORDERING_ERROR_READ.3
- Error types -
- GLOBUS_XIO_ORDERING_GET_BUFFERING.3
- Attributes and cntls -
- GLOBUS_XIO_ORDERING_GET_BUF_SIZE.3
- Attributes and cntls -
- GLOBUS_XIO_ORDERING_GET_MAX_BUF_COUNT.3
- Attributes and cntls -
- GLOBUS_XIO_ORDERING_GET_MAX_READ_COUNT.3
- Attributes and cntls -
- GLOBUS_XIO_ORDERING_SET_BUFFERING.3
- Attributes and cntls -
- GLOBUS_XIO_ORDERING_SET_BUF_SIZE.3
- Attributes and cntls -
- GLOBUS_XIO_ORDERING_SET_MAX_BUF_COUNT.3
- Attributes and cntls -
- GLOBUS_XIO_ORDERING_SET_MAX_READ_COUNT.3
- Attributes and cntls -
- GLOBUS_XIO_ORDERING_SET_OFFSET.3
- Attributes and cntls -
- GLOBUS_XIO_SEEK.3
- Globus xio api -
- GLOBUS_XIO_SET_STRING_OPTIONS.3
- Globus xio api -
- GLOBUS_XIO_TCP_AFFECT_ATTR_DEFAULTS.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_ERROR_NO_ADDRS.3
- Error types -
- GLOBUS_XIO_TCP_GET_BACKLOG.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_GET_BLOCKING_IO.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_GET_CONNECT_RANGE.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_GET_HANDLE.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_GET_INTERFACE.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_GET_KEEPALIVE.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_GET_LINGER.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_GET_LISTEN_RANGE.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_GET_LOCAL_CONTACT.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_GET_LOCAL_NUMERIC_CONTACT.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_GET_NODELAY.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_GET_NO_IPV6.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_GET_OOBINLINE.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_GET_PORT.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_GET_RCVBUF.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_GET_REMOTE_CONTACT.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_GET_REMOTE_NUMERIC_CONTACT.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_GET_RESTRICT_PORT.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_GET_REUSEADDR.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_GET_SEND_FLAGS.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_GET_SERVICE.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_GET_SNDBUF.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_INVALID_HANDLE.3
- Types -
- GLOBUS_XIO_TCP_SEND_OOB.3
- Types -
- GLOBUS_XIO_TCP_SET_BACKLOG.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_SET_BLOCKING_IO.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_SET_CONNECT_RANGE.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_SET_HANDLE.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_SET_INTERFACE.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_SET_KEEPALIVE.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_SET_LINGER.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_SET_LISTEN_RANGE.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_SET_NODELAY.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_SET_NO_IPV6.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_SET_OOBINLINE.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_SET_PORT.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_SET_RCVBUF.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_SET_RESTRICT_PORT.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_SET_REUSEADDR.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_SET_SEND_FLAGS.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_SET_SERVICE.3
- Attributes and cntls -
- GLOBUS_XIO_TCP_SET_SNDBUF.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_CONNECT.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_ERROR_NO_ADDRS.3
- Error types -
- GLOBUS_XIO_UDP_ERROR_SHORT_WRITE.3
- Error types -
- GLOBUS_XIO_UDP_GET_CONTACT.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_GET_HANDLE.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_GET_INTERFACE.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_GET_LISTEN_RANGE.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_GET_NO_IPV6.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_GET_NUMERIC_CONTACT.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_GET_PORT.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_GET_RCVBUF.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_GET_RESTRICT_PORT.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_GET_REUSEADDR.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_GET_SERVICE.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_GET_SNDBUF.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_INVALID_HANDLE.3
- Types -
- GLOBUS_XIO_UDP_SET_CONTACT.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_SET_HANDLE.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_SET_INTERFACE.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_SET_LISTEN_RANGE.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_SET_MULTICAST.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_SET_NO_IPV6.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_SET_PORT.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_SET_RCVBUF.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_SET_RESTRICT_PORT.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_SET_REUSEADDR.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_SET_SERVICE.3
- Attributes and cntls -
- GLOBUS_XIO_UDP_SET_SNDBUF.3
- Attributes and cntls -
- globus_i_xio_op_type_e.3
- Globus xio api -
- globus_xio.3
- Extensible input output library
- globus_xio_accept_callback_t.3
- Globus xio api -
- globus_xio_attr_cntl.3
- Globus xio http driver header.
- globus_xio_attr_copy.3
- Globus xio api -
- globus_xio_attr_destroy.3
- Globus xio api -
- globus_xio_attr_init.3
- Globus xio api -
- globus_xio_callback_t.3
- Globus xio api -
- globus_xio_close.3
- Globus xio api -
- globus_xio_data_callback_t.3
- Globus xio api -
- globus_xio_data_descriptor_cntl.3
- Globus xio http driver header.
- globus_xio_data_descriptor_destroy.3
- Globus xio api -
- globus_xio_data_descriptor_init.3
- Globus xio api -
- globus_xio_data_descriptors.3
- Globus_xio uses data descriptors to associate meta data with the data being written or the data read. data descriptors flow into the drivers read and write interface functions by way of the operation structure. if the driver is interested in viewing the data descriptor it can request it from the operation structure via a call to globus_xio_driver_operation_get_data_descriptor() and it can view any driver specific data descriptor via a call to globus_xio_driver_data_descriptor_get_specific(). the driver can modify values in the data descriptor by setting values before passing the request down the stack. several functions are available to modify the data descriptors. there is no need to 'set()' the data descriptors back into the operation. the functions for manipulating the values in a dd affect the values xio has directly. data descriptors flow back to the driver in the callbacks for the data operations. when calling finished operation on a data operation the driver must pass in a data descriptor. it should get this data descriptor from the io operation callback. life cycle: passing in a data descriptor: a data descriptor is first created by the globus_xio user. the user can add driver specific data descriptors to it. once the user has created and set the attributes on its data descriptor to their liking they pass it into a globus_xio data operation (either read or write). when the data descriptor is passed on globus_xio will make an internal copy of it. it does this by first coping the user the level data descriptor and then walking through the list of driver specific data descriptor contained in to and requesting the driver make a copy of the driver specific data descriptor. if ever a driver specific data descriptor is null globus_xio need not call into its drivers dd_copy function. if ever the user level data descriptor is null globus_xio need not deal with the data descriptor functionality at all. a data descriptor coming back up the stack once an io operation reaches the transport driver (the bottom of the stack) it takes on a slightly different role. on the way in it is describing what is requested to be done with the data, on the way out it is describing what has actually been done. once the transport driver performs the operation it should adjust the data descriptor to reflect what has actually happened (few drivers will need to worry about this). each driver on the way up can adjust the data descriptor and its driver specific data descriptor. when xio reaches the top of the stack it calls a user callback. when that callback returns all memory associated with the data descriptor is cleaned up. the interface function globus_xio_driver_data_descriptor_free() is used for this.
- globus_xio_driver.3
- Globus xio driver -
- globus_xio_driver_attr_cntl_t.3
- Xio driver programming -
- globus_xio_driver_attr_copy_t.3
- Xio driver programming -
- globus_xio_driver_attr_destroy_t.3
- Xio driver programming -
- globus_xio_driver_attr_init_t.3
- Xio driver programming -
- globus_xio_driver_callback_t.3
- Xio driver programming -
- globus_xio_driver_close_t.3
- Xio driver programming -
- globus_xio_driver_data_callback_t.3
- Xio driver programming -
- globus_xio_driver_eof_received.3
- Xio driver programming -
- globus_xio_driver_finished_accept.3
- Xio driver programming -
- globus_xio_driver_finished_close.3
- Xio driver programming -
- globus_xio_driver_finished_open.3
- Xio driver programming -
- globus_xio_driver_finished_read.3
- Xio driver programming -
- globus_xio_driver_finished_write.3
- Xio driver programming -
- globus_xio_driver_handle_cntl.3
- Xio driver programming -
- globus_xio_driver_handle_cntl_t.3
- Xio driver programming -
- globus_xio_driver_link_destroy_t.3
- Xio driver programming -
- globus_xio_driver_merge_operation.3
- Xio driver programming -
- globus_xio_driver_operation_create.3
- Xio driver programming -
- globus_xio_driver_operation_is_blocking.3
- Xio driver programming -
- globus_xio_driver_pass_close.3
- Xio driver programming -
- globus_xio_driver_pass_open.3
- Xio driver programming -
- globus_xio_driver_pass_read.3
- Xio driver programming -
- globus_xio_driver_pass_write.3
- Xio driver programming -
- globus_xio_driver_programming.3
- Xio driver programming -
- globus_xio_driver_read_t.3
- Xio driver programming -
- globus_xio_driver_server_accept_t.3
- Xio driver programming -
- globus_xio_driver_server_cntl_t.3
- Xio driver programming -
- globus_xio_driver_server_destroy_t.3
- Xio driver programming -
- globus_xio_driver_server_init_t.3
- Xio driver programming -
- globus_xio_driver_set_eof_received.3
- Xio driver programming -
- globus_xio_driver_transform_open_t.3
- Xio driver programming -
- globus_xio_driver_transport_open_t.3
- Xio driver programming -
- globus_xio_driver_write_t.3
- Xio driver programming -
- globus_xio_file_attr_cmd_t.3
- Attributes and cntls -
- globus_xio_file_driver.3
- Globus xio file driver -
- globus_xio_file_driver.h.3
- Xio file driver.
- globus_xio_file_driver_cntls.3
- Attributes and cntls -
- globus_xio_file_driver_envs.3
- The file driver uses the following environment variables globus_xio_file_debug available if using a debug build. see globus_debug.h for format. the file driver defines the levels trace for all function call tracing and info for write buffer sizes globus_xio_system_debug available if using a debug build. see globus_debug.h for format. the file driver uses globus_xio_system (along with the tcp and udp drivers) which defines the following levels: trace for all function call tracing, data for data read and written counts, info for some special events, and raw which dumps the raw buffers actually read or written. this can contain binary data, so be careful when you enable it.
- globus_xio_file_driver_errors.3
- The file driver is very close to the system code, so most errors reported by it are converted from the system errno. a few of the exceptions are globus_xio_error_eof, globus_xio_error_command, globus_xio_error_contact_string, and globus_xio_error_canceled see also: globus_error_errno_match()
- globus_xio_file_driver_instance.3
- An xio handle with the file driver can be created with globus_xio_handle_create() if there is no handle set on the attr passed to the globus_xio_open() call, it performs the equivalent of an open() call. in this case, the contact string must contain either a pathname or one of stdin://, stdout://, or stderr://. if a pathname is used, that path is opened. if one of the schemes are used the corresponding stdio handle is used (retrieved with fileno()). in either of the above cases, it is most efficient to call the blocking version of globus_xio_open(). it is also safe to call within a locked critical section. when the xio handle is closed, the file driver will destroy its internal resources and close the fd (unless this fd was set on an attr or converted from one of the stdio handles).
- globus_xio_file_driver_io.3
- Both the globus_xio_register_read() and globus_xio_register_write() calls follow similar semantics as described below. if the waitforbytes parameter is greater than zero, the io will happen asynchronously and be completed when at least waitforbytes has been read/written. if the waitforbytes parameter is equal to zero, one of the following alternative behaviors occur: if the length of the buffer is 0 the read or write happens synchronously. if the user is using one of the blocking xio calls, no internal callback will occur. if the length of the buffer is also 0, the call behaves like an asynchronous notification of data ready to be either read or written. ie, an asynchronous select(). in any case, when an error or eof occurs before the waitforbytes request has been met, the outgoing nbytes is set to the amount of data actually read/written before the error or eof occurred. you may either use globus_xio_file_seek or globus_xio_seek to position the file pointer before each read or write or you can specify the desired offset on a data descriptor with the xio cmd, globus_xio_dd_set_offset. simultaneous reading and writing is only predictable if the data descriptor method is used.
- globus_xio_file_driver_types.3
- Types -
- globus_xio_file_flag_t.3
- Types -
- globus_xio_file_mode_t.3
- Types -
- globus_xio_file_whence_t.3
- Types -
- globus_xio_handle_cmd_t.3
- Globus xio api -
- globus_xio_handle_cntl.3
- Attributes and cntls -
- globus_xio_handle_create.3
- Globus xio api -
- globus_xio_handle_create_from_url.3
- Globus xio api -
- globus_xio_http.h.3
- Globus xio http driver header.
- globus_xio_http_attr_cmd_t.3
- Attributes and cntls -
- globus_xio_http_driver.3
- Globus xio http driver -
- globus_xio_http_driver_cntls.3
- Attributes and cntls -
- globus_xio_http_driver_errors.3
- Error types -
- globus_xio_http_driver_instance.3
- An xio handle with the http driver can be created with either globus_xio_handle_create() or globus_xio_server_register_accept(). if the handle is created with globus_xio_server_register_accept(), then an http service handle will be created when globus_xio_register_open() is called. the xio application must call one of the functions in the globus_xio_read() family to receive the http request metadata. this metadata will be returned in the data descriptor associated with that first read: the application should use the globus_xio_http_get_request descriptor cntl to extract this metadata. if the handle is created with globus_xio_handle_create(), then an http client handle will be created when globus_xio_register_open() is called. http request headers, version and method may be chosen by setting attributes.
- globus_xio_http_driver_io.3
- The http driver behaves similar to the underlying transport driver with respect to reads and writes with the exception that metadata must be passed to the handle via open attributes on the client side and will be received as data descriptors as part of the first request read or response read.
- globus_xio_http_driver_server.3
- The globus_xio_server_create() causes a new transport-specific listener socket to be created to handle new http connections. globus_xio_server_register_accept() will accept a new connection for processing. globus_xio_server_register_close() cleans up the internal resources associated with the http server and calls close on the listener. multiple http requests may be read in sequence from an http server. after each request is processed and the response is sent (either by writing the entire entity body as specified by the content-length header or by using the globus_xio_http_handle_set_end_of_entity handle cntl), the next read will contain the metadata related to the next operation. only one request will be in process at once--the previous request must have sent or received and eof (whichever is applicable to the request type).
- globus_xio_http_errors_t.3
- Error types -
- globus_xio_http_handle_cmd_t.3
- Attributes and cntls -
- globus_xio_http_header_t.3
- Http header.
- globus_xio_http_version_t.3
- Globus xio http driver -
- globus_xio_iovec_callback_t.3
- Globus xio api -
- globus_xio_mode_e_cmd_t.3
- Attributes and cntls -
- globus_xio_mode_e_driver.3
- Globus xio mode_e driver -
- globus_xio_mode_e_driver.h.3
- Xio mode_e driver.
- globus_xio_mode_e_driver_cntls.3
- Attributes and cntls -
- globus_xio_mode_e_driver_envs.3
- The mode_e driver uses the following environment variable globus_xio_mode_e_debug available if using a debug build. see globus_debug.h for format.
- globus_xio_mode_e_driver_errors.3
- Error types -
- globus_xio_mode_e_driver_instance.3
- An xio handle with the mode_e driver can be created with either globus_xio_handle_create() or globus_xio_server_register_accept(). if the handle is created with globus_xio_handle_create(), the contact string passed to ref globus_xio_register_open() call must contain a host name and service/port. the number of streams required can be specified on the attr using globus_xio_mode_e_set_num_streams (default is one stream). the stack of drivers to be used on the streams can be specified on the attr using globus_xio_mode_e_set_stack (default is a stack containing tcp driver). when the xio handle is closed, the mode_e driver will destroy its internal resources and close the stream(s).
- globus_xio_mode_e_driver_io.3
- Mode e is unidirectional. clients can only write and the server can only read. the globus_xio_register_read() enforce that the waitforbytes parameter should be one. when multiple transport streams are used between the client and the server, data might not be delivered in order. globus_xio_data_descriptor_cntl() can be used to get the offset of the data. globus_xio_register_write() does not enforce any restriction on the waitforbytes parameter. in any case, when an error or eof occurs before the waitforbytes request has been met, the outgoing nbytes is set to the amount of data actually read/written before the error or eof occurred.
- globus_xio_mode_e_driver_server.3
- Globus_xio_server_create() causes a mode_e listener to be created and listened upon. globus_xio_server_register_accept() performs an asynchronous accept(). globus_xio_server_register_close() cleans up the internal resources associated with the mode_e server. all accepted handles inherit all mode_e specific attributes set in the attr to globus_xio_server_create()
- globus_xio_mode_e_driver_types.3
- globus_xio_mode_e_error_type_t.3
- Error types -
- globus_xio_open.3
- Globus xio api -
- globus_xio_operation_type_t.3
- Globus xio api -
- globus_xio_ordering_cmd_t.3
- Attributes and cntls -
- globus_xio_ordering_driver.3
- Globus xio ordering driver -
- globus_xio_ordering_driver.h.3
- Xio ordering driver.
- globus_xio_ordering_driver_cntls.3
- Attributes and cntls -
- globus_xio_ordering_driver_envs.3
- The ordering driver uses the following environment variable globus_xio_ordering_debug available if using a debug build. see globus_debug.h for format.
- globus_xio_ordering_driver_errors.3
- Error types -
- globus_xio_ordering_driver_instance.3
- Ordering driver is a transform driver and thus has to be used on top of a transport driver. an xio handle with the ordering driver can be created with either globus_xio_handle_create() or globus_xio_server_register_accept(). when the xio handle is closed, the ordering driver will destroy its internal resources.
- globus_xio_ordering_driver_io.3
- Ordering driver does not allow multiple globus_xio_register_read() to be outstanding. this limitation is there to enforce that the users get the read callback in order. there is a known issue in enforcing the order in which read callbacks are delivered with multiple outstanding reads. this limitation does not restrict the use of parallel reads feature provided by the underlying transport driver. globus_xio_ordering_set_max_read_count on the attr can be used to specify the number of parallel reads. ordering will have a maximum of this many number of reads outstanding to the driver below it on the stack. it buffers the data read and delivers it to the user in order. globus_xio_register_write() does not enforce any restriction.
- globus_xio_ordering_driver_types.3
- globus_xio_ordering_error_type_t.3
- Error types -
- globus_xio_read.3
- Globus xio api -
- globus_xio_readv.3
- Globus xio api -
- globus_xio_register_close.3
- Globus xio api -
- globus_xio_register_open.3
- Globus xio api -
- globus_xio_register_read.3
- Globus xio api -
- globus_xio_register_readv.3
- Globus xio api -
- globus_xio_register_write.3
- Globus xio api -
- globus_xio_register_writev.3
- Globus xio api -
- globus_xio_server_accept.3
- Globus xio api -
- globus_xio_server_callback_t.3
- Globus xio api -
- globus_xio_server_close.3
- Globus xio api -
- globus_xio_server_cntl.3
- Attributes and cntls -
- globus_xio_server_create.3
- Globus xio api -
- globus_xio_server_get_contact_string.3
- Globus xio api -
- globus_xio_server_register_accept.3
- Globus xio api -
- globus_xio_server_register_close.3
- Globus xio api -
- globus_xio_stack_copy.3
- Globus xio api -
- globus_xio_stack_destroy.3
- Globus xio api -
- globus_xio_stack_init.3
- Globus xio api -
- globus_xio_stack_push_driver.3
- Globus xio api -
- globus_xio_tcp_cmd_t.3
- Attributes and cntls -
- globus_xio_tcp_driver.3
- Globus xio tcp driver -
- globus_xio_tcp_driver.h.3
- Header file for xio tcp driver.
- globus_xio_tcp_driver_cntls.3
- Attributes and cntls -
- globus_xio_tcp_driver_envs.3
- The tcp driver uses the following environment variables globus_hostname used when setting the hostname in the contact string globus_tcp_port_range used to restrict anonymous listener ports ex: globus_tcp_port_range=4000,4100 globus_tcp_port_range_state_file used in conjunction with globus_tcp_port_range to maintain last used port among many applications making use of the same port range. that last port + 1 will be used as a starting point within the specified tcp port range instead of always starting at the beginning. this is really only necessary when a machine is behind a stateful firewall which is holding a port in a different state than the application's machine. see bugzilla.globus.org, bug 1851 for more info. ex: globus_tcp_port_range_state_file=/tmp/port_state (file will be created if it does not exist) globus_tcp_source_range used to restrict local ports used in a connection globus_xio_tcp_debug available if using a debug build. see globus_debug.h for format. the tcp driver defines the levels trace for all function call tracing and info for write buffer sizes globus_xio_system_debug available if using a debug build. see globus_debug.h for format. the tcp driver uses globus_xio_system (along with the file and udp drivers) which defines the following levels: trace for all function call tracing, data for data read and written counts, info for some special events, and raw which dumps the raw buffers actually read or written. this can contain binary data, so be careful when you enable it.
- globus_xio_tcp_driver_errors.3
- Error types -
- globus_xio_tcp_driver_instance.3
- An xio handle with the tcp driver can be created with either globus_xio_handle_create() or globus_xio_server_register_accept(). if the handle is created with globus_xio_server_register_accept(), the globus_xio_register_open() call does nothing more than initialize the internal handle with the accepted socket. if the handle is created with globus_xio_handle_create(), and there is no handle set on the attr passed to the globus_xio_register_open() call, it performs the equivalent of an asynchronous connect() call. in this case, the contact string must contain a host name and service/port. both the hostname and port number can be numeric or symbolic (eg: some.webserver.com:80 or 214.123.12.1:http). if the hostname is symbolic and it resolves to multiple ip addresses, each one will be attempted in succession, until the connect is successful or there are no more addresses. when the xio handle is closed, the tcp driver will destroy its internal resources and close the socket (unless this socket was set on an attr). any write data pending in system buffers will be sent unless the linger option has been set. any remaining data in recv buffers will be discarded and (on some systems) a connection reset sent to the peer.
- globus_xio_tcp_driver_io.3
- Both the globus_xio_register_read() and globus_xio_register_write() calls follow similar semantics as described below. if the waitforbytes parameter is greater than zero, the io will happen asynchronously and be completed when at least waitforbytes has been read/written. if the waitforbytes parameter is equal to zero, one of the following alternative behaviors occur: if the length of the buffer is 0 the read or write happens synchronously. if the user is using one of the blocking xio calls, no internal callback will occur. if the length of the buffer is also 0, the call behaves like an asynchronous notification of data ready to be either read or written. ie, an asynchronous select(). in any case, when an error or eof occurs before the waitforbytes request has been met, the outgoing nbytes is set to the amount of data actually read/written before the error or eof occurred.
- globus_xio_tcp_driver_server.3
- Globus_xio_server_create() causes a tcp listener socket to be created and listened upon. globus_xio_server_register_accept() performs an asynchronous accept(). globus_xio_server_register_close() cleans up the internal resources associated with the tcp server and calls close() on the listener socket (unless the socket was set on the server via the attr) all accepted handles inherit all tcp specific attributes set in the attr to globus_xio_server_create(), but can be overridden with the attr to globus_xio_register_open().
- globus_xio_tcp_driver_types.3
- Types -
- globus_xio_tcp_error_type_t.3
- Error types -
- globus_xio_tcp_send_flags_t.3
- Types -
- globus_xio_telnet.h.3
- Xio telnet driver.
- globus_xio_timeout_callback_t.3
- Globus xio api -
- globus_xio_udp_cmd_t.3
- Attributes and cntls -
- globus_xio_udp_driver.3
- Globus xio udp driver -
- globus_xio_udp_driver.h.3
- Xio udp driver.
- globus_xio_udp_driver_cntls.3
- Attributes and cntls -
- globus_xio_udp_driver_envs.3
- The udp driver uses the following environment variables globus_hostname used when setting the hostname in the contact string globus_udp_port_range used to restrict the port the udp socket binds to globus_xio_system_debug available if using a debug build. see globus_debug.h for format. the udp driver uses globus_xio_system (along with the file and tcp drivers) which defines the following levels: trace for all function call tracing, data for data read and written counts, info for some special events, and raw which dumps the raw buffers actually read or written. this can contain binary data, so be careful when you enable it.
- globus_xio_udp_driver_errors.3
- Error types -
- globus_xio_udp_driver_instance.3
- An xio handle with the udp driver can be created with globus_xio_handle_create(). the handle can be created in two modes: open server or connected client. if the contact string does not have a host and port, the udp socket will accept messages from any sender. if a host and port is specified, the udp socket will be 'connected' immediately to that host:port. this blocks packets from any sender other than the contact string. a handle that starts out as an open server can later be 'connected' with globus_xio_udp_connect (presumably after the first message is received from a sender and his contact info is available). when the xio handle is closed, the udp driver will destroy its internal resources and close the socket (unless this socket was set on the attr to globus_xio_register_open()).
- globus_xio_udp_driver_io.3
- Globus_xio_register_read() semantics: if the waitforbytes parameter is greater than zero, the read will happen asynchronously and be completed when at least waitforbytes has been read/written. if the waitforbytes parameter is equal to zero, one of the following alternative behaviors occur: if the length of the buffer is 0 the read happens synchronously. if the user is using one of the blocking xio calls, no internal callback will occur. if the length of the buffer is also 0, the call behaves like an asynchronous notification of data ready to be read. ie, an asynchronous select(). in any case, when an error occurs before the waitforbytes request has been met, the outgoing nbytes is set to the amount of data actually read before the error occurred. if the handle is not connected, the user should pass in a data descriptor. after the read, this data_descriptor will contain the contact string of the sender. the user can either get this contact string with globus_xio_udp_get_contact or pass the data descriptor directly to globus_xio_register_write() to send a message back to the sender. also, if the handle is not connected, the waitforbytes should probably be 1 to guarantee that only one packet is received and the sender contact isnt overwritten by multiple packets from different senders. globus_xio_register_write() semantics: when performing a write, exactly one udp packet is sent of the entire buffer length. the waitforbytes parameter is ignored. if the entire buffer can not be written, a globus_xio_udp_error_short_write error will be returned with nbytes set to the number of bytes actually sent. if the handle is not 'connected', a contact string must be set in the data descriptor to globus_xio_register_write(). this can either be done explicitly with globus_xio_udp_set_contact or implicitly by passing in a data descriptor received from globus_xio_register_read(). the udp write semantics are always synchronous. no blocking or internal callback will occur when using globus_xio_write().
- globus_xio_udp_driver_types.3
- Types -
- globus_xio_udp_error_type_t.3
- Error types -
- globus_xio_write.3
- Globus xio api -
- globus_xio_writev.3
- Globus xio api -