NAME
globus_gass_transfer_append
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_append
attr
url
length
DESCRIPTION
This command is used to initiate a new "append" request of the file named by url. The entire file will be transfered to the server if the user is authorized to do so. This function blocks until the GASS library has determined whether the file may be retrieved by the caller, may not because it is a referral to another URL or URLs, or the server has denied the request.
Upon returning from this function, the request handle is initialized to refer to the append request's state.
If the server can't store the file at url, but has an alternative location for the user to store to, then this function return with request's status set to GLOBUS_GASS_TRANSFER_REQUEST_REFERRED.
url - URL to append to.
length - The length of the data to append to the url, if known. If this parameter is set to GLOBUS_GASS_LENGTH_UNKNOWN, then the append may fail if the protocol does not support arbitrarily-length files.
RETURN VALUE
On success globus_gass_transfer_append returns 0 and request handle. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_append $attr $url 1024 ] result request_handle
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_authorize
SYNOPSIS
package require globus_gass_authorize
globus_gass_transfer_authorize
request_handle
total_length
DESCRIPTION
This command causes the request to be authorized for processing. It should be called in response to a request accept callback when the server wants to agree to process this request. After calling this command, the server implementation should call globus_gass_transfer_send_bytes or globus_gass_transfer_receive_bytes to send or receive the data associated with the URL.
PARAMETERS
request_handle - A new request handle, passed to the server in an accept callback.
total_length - For a "get" request, the total_length of the file to be retrieved if known. This value may be GLOBUS_GASS_LENGTH_UNKNOWN if the protocol supports transferring arbitrarily-sized files.
RETURN VALUE
On success globus_gass_transfer_authorize returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_authorize $request_handle $total_length ] status
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_close_listener
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_close_listener
listener
script
DESCRIPTION
This command is used to close a GASS server listener port. Callbacks for any outstanding accepts will be called before the close callback is invoked.
script - TCL script invoked once the transfer is completed. The command will be executed exactly once in global scope. If an error occurs while executing the command, then the bgerror mechanism is used to report the error.
RETURN VALUE
On success globus_gass_transfer_close_listener returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_close_listener $listener { callback_script user_arg } ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_create_listener
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_create_listener
listener_attr
url_scheme
DESCRIPTION
This command is used to create a new protocol-specific socket to listen for client connections to a GASS server. The listener handle pointer is initialized to contain the a new handle which can be used in subsequent server operations.
After calling this command, a user may call the globus_gass_transfer_register_listen or globus_gass_transfer_close_listener commands with this listener handle.
url_scheme - The protocol scheme to implement for the listener.
RETURN VALUE
On success globus_gass_transfer_create_listener returns 0 and listener handle. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_create_listener $listener_attr $url_scehme ] * result listener_handle
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_deny
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_deny
request_handle
reason
message
DESCRIPTION
This command causes the request to be denied for further processing. It should be called in response to a request ccept callback when the server wants to refuse processing this request for the client. After calling this function, the server implementation need do nothing further with the request handle.
PARAMETERS
request_handle - A new request handle, passed to the server in an accept callback.
reason - A protocol-specific reason code.
message - An informational message to be sent to the client.
RETURN VALUE
On success globus_gass_transfer_deny returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_deny $request_handle $reason $message ] status
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_get
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_get
attr
url
DESCRIPTION
This command is used to initiate a new "get" request of the file named by url. The entire file will be transfered from the server if the file exists and user is authorized to do so. This function blocks until the GASS library has determined whether the file may be retrievied by the caller, may not because it is a referral to another URL or URLs, or the server has denied the request.
Upon returning from this command, the request handle is initialized to refer to the get request's state. This request handle must be destroyed after the user has finished processing the data associated with the callback.
If the file doesn't exist at url, but a referral does, then this command will return with the request's status set to GLOBUS_GASS_TRANSFER_REQUEST_REFERRED.
url - URL to get.
RETURN VALUE
On success globus_gass_transfer_get returns 0 and request handle. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_get $attr $url ] result request_handle
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_listener_get_base_url
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_listener_get_base_url
listener
DESCRIPTION
This command is used to query a listener handle for the base URL which the server is listening on. For most protocols, this contains the protocol scheme, host, and port that the listener has registered itself on.
PARAMETERS
listener - The listener handle to query.
RETURN VALUE
On success globus_gass_transfer_listener_get_base_url returns a string containing the base URL. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_listener_get_base_url $listener ] base_url
BUGS
None
TODO
None
NAME
globus_gass_transfer_listener_get_user_pointer
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_listener_get_user_pointer
listener
DESCRIPTION
This command is used to query the listener's user_pointer field and return it's value.
PARAMETERS
listener - The listener handle.
RETURN VALUE
On success globus_gass_transfer_listener_get_user_pointer returns the user-specified pointer in the handle structure. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_listener_get_user_pointer $listener ] user-pointer
BUGS
None
TODO
None
NAME
globus_gass_transfer_listener_set_user_pointer
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_listener_set_user_pointer
listener
user_pointer
DESCRIPTION
This command is used to set the listener's user_pointer field. The pointer may be used to associate any pointer-sized data with a listener handle.
PARAMETERS
listener - The listener handle.
user-pointer - The value of the user pointer.
RETURN VALUE
On success globus_gass_transfer_listener_set_user_pointer returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_listener_set_user_pointer $listener $user-pointer ] result
BUGS
None
TODO
None
NAME
globus_gass_transfer_listenerattr_destroy
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_listenerattr_destroy
listener_attr
DESCRIPTION
This command is used to destroy the attribute set specified in listener_attr.
PARAMETERS
listener_attr - The attribute set to be destroyed.
RETURN VALUE
On success globus_gass_transfer_listenerattr_destroy returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_listenerattr_destroy $listener_attr ] status
BUGS
None
TODO
None
NAME
globus_gass_transfer_listenerattr_get_backlog
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_listenerattr_get_backlog
listener_attr
DESCRIPTION
This command is used to get the backlog attribute for a GASS transfer attribute set.
PARAMETERS
listener_attr - The attribute set to be queried.
RETURN VALUE
On success globus_gass_transfer_listenerattr_get_backlog returns 0 and backlog. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_listenerattr_get_backlog $listener_attr ] status backlog
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_listenerattr_get_port
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_listenerattr_get_port
listener_attr
DESCRIPTION
This command is used to get the port attribute for a GASS transfer attribute set.
PARAMETERS
listener_attr - The attribute set to be queried.
RETURN VALUE
On success globus_gass_transfer_listenerattr_get_port returns 0 and port. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_listenerattr_get_port $listener_attr ] status port
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_listenerattr_init
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_listenerattr_init
listener_attr
url_scheme
DESCRIPTION
This command is used to initialize the listener attributes to contain a new protocol-specific listener attribute.
PARAMETERS
listener_attr - The listener attribute set to be initialized.
url_scheme - The scheme which which the attribute will be used for.
RETURN VALUE
On success globus_gass_transfer_listenerattr_init returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_listenerattr_init $listener_attr http ] status
BUGS
None
TODO
None
NAME
globus_gass_transfer_listenerattr_set_backlog
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_listenerattr_set_backlog
listener_attr
backlog
DESCRIPTION
This command is used to set the backlog attribute for a GASS transfer attribute set.
This attribute allows the user to control the number of pending connections which may exist for this listener.
PARAMETERS
listener_attr - The attribute set to be modified.
backlog - The number of outstanding connections to allow.
RETURN VALUE
On success globus_gass_transfer_listenerattr_set_backlog returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_listenerattr_set_backlog $listener_attr 1 ] status
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_listenerattr_set_port
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_listenerattr_set_port
listener_attr
port
DESCRIPTION
This command is used to set the port attribute for a GASS transfer attribute set.
This attribute allows the user to set the port to be used by a GASS Transfer listener.
PARAMETERS
listener_attr - The attribute set to be modified.
port - The TCP or UDP port number to use.
RETURN VALUE
On success globus_gass_transfer_listenerattr_set_port returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_listenerattr_set_port $listener_attr 50000 ] status
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_put
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_put
attr
url
length
DESCRIPTION
This command is used to initiate a new "put" request of the file named by url. The entire file will be transfered to the server if the user is authorized to do so. This command blocks until the GASS library has determined whether the file may be stored by the caller, may not because it is a referral to another URL or URLs, or the server has denied the request.
Upon returning from this command, the request handle is initialized to refer to the put request's state.
If the server can't store the file at url, but has an alternative location for the user to store to, then this command return with request's status set to GLOBUS_GASS_TRANSFER_REQUEST_REFERRED.
url - URL to put.
length - The length of the data to put to the url, if known. If this parameter is set to GLOBUS_GASS_TRANSFER_LENGTH_UNKNOWN, then the put may fail if the protocol does not support arbitrarily-length files.
RETURN VALUE
On success globus_gass_transfer_put returns 0 and request handle. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_put $attr $url 1024 ] result request_handle
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_receive_bytes
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_receive_bytes
request_handle
buffer_length
wait_for_length
script
DESCRIPTION
This command is used to receive a byte array associated with a request handle.
This command receives a block of data from a server or client as part of the processing for a request. Multiple data blocks may be registered with the GASS transfer library at once.
When processing a server request, this command may only be used in conjunction with "put" or "append" requests. The user must call globus_gass_transfer_authorize before calling this command.
When processing a client request, this command may only be used in conjunction with "get" requests. This comamnd may not be called before either the callback function has been invoked, or the blocking globus_gass_tranfser_put or globus_gass_transfer_append command has returned.
PARAMETERS
request_handle - The request handle with which this block of bytes is associated.
buffer_length - The length of the bytes array.
wait_for_length - The minimum amount of data to wait for before invoking the callback script. A partial byte array of at least this amount will be returned in the callback, unless end-of-file is reached before this amount..
last_data - A flag to indicate whether this is the final block of data for the request. If this is true, then the callback function will be delayed until the server acknowledges that the file has been completely received.
script - TCL script invoked when the operation is completed. The command will be executed exactly once in global scope. If an error occurs while executing the command, then the bgerror mechanism is used to report the error.
RETURN VALUE
On success globus_gass_transfer_send_bytes returns 0. On error, this command will raise an error and must be caught using the appropriate bgerror command.
EXAMPLE
lassign [ globus_gass_transfer_send_bytes $request_handle $buffer $length $last_data { callback_script callback_arg } ] result
BUGS
None
TODO
None
SEE ALSO
globus_gass_transfer_receive_bytes.
NAME
globus_gass_transfer_refer
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_refer
request_handle
urls
num_urls
DESCRIPTION
This command causes the request to be referred to another URL or list of URLs. It should be called in response to a request accept callback when the server wants to refer the client to another server or servers to process the request.
PARAMETERS
request_handle - A new request handle, passed to the server in an accept callback.
urls - An array of strings, each being a URL pointing to sources of the same data as the original URL.
num_urls - The length of the urls array.
RETURN VALUE
On success globus_gass_transfer_refer returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_refer $request_handle $urls $num_urls ] status
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_referral_destroy
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_referral_destroy
referral_handle
DESCRIPTION
This command is used to free all memory used by a referral.
This command frees all memory used by this referral. After calling this command, the strings returned by calling globus_gass_transfer_referral_get_url must not be accessed. Any further attempts to extract information from this referral will fail.
PARAMETERS
referral_handle - The referral handle to destroy.
RETURN VALUE
On success globus_gass_transfer_referral_destroy returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_referral_destroy $referral_handle ] status
BUGS
None
TODO
None
NAME
globus_gass_transfer_referral_get_count
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_referral_get_count
referral
DESCRIPTION
This command is used to get the number of URLs in this referral.
This command examines the referral to determine if the number of URLs which are contained in it. Each of these URLs should either point to another referral, or to a URL containing the equivalent file as the original URL request which caused this referral.
PARAMETERS
referral - The referral structure to query.
RETURN VALUE
On success globus_gass_transfer_referral_get_count returns the number of URL entries in the referral, or 0, if there are none. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_referral_get_count $referral ] num_urls
BUGS
None
TODO
None
NAME
globus_gass_transfer_referral_get_url
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_referral_get_url
referral
index
DESCRIPTION
This command is used to get a URL string from a referral.
This command examines the referral to retrieve a URL string from it. A valid referal will contain one or more strings. They are indexed from 0 to the value returned by globus_gass_transfer_referral_get_count - 1.
The string returned by this command must not be freed by the caller. It will remain valid until the referral structure is destroyed.
PARAMETERS
referral - The referral structure to query.
index - The URL to extract from the referral.
RETURN VALUE
On success globus_gass_transfer_referral_get_url returns a string pointer containing the URL, or NULL if the index or referral were invalid. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_referral_get_url $referral $index] url
BUGS
None
TODO
None
NAME
globus_gass_transfer_register_accept
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_register_accept
attr
listener
script
DESCRIPTION
This command causes the listener handle to accept a new connection on the listener and parse the file request. Once the file request has been parsed, the specified callback function will be called. The server implementation must then either authorize, deny, or refer this request.
PARAMETERS
attr - Protocol-specific attributes for the new listener.
listener - The listener handle to register for the new request.
script - TCL script invoked when the protocol module has parsed the file request. The command will be executed exactly once in global scope. If an error occurs while executing the command, then the bgerror mechanism is used to report the error.
RETURN VALUE
On success globus_gass_transfer_register_accept returns 0 and the new request handle to be initialized when the operation is completed. On error, this command will raise an error and must be caught using the appropriate bgerror command.
EXAMPLE
lassign [ globus_gass_transfer_register_accept $attr $listener { callback callback_arg } ] result request_handle
BUGS
None
TODO
None
NAME
globus_gass_transfer_register_append
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_register_append
attr
url
length
script
DESCRIPTION
This command is used to initiate a new "append" request of the file named by url. The entire file will be transfered to the server if the user is authorized to do so. This function does not block; instead, the user's callback function will be called once the GASS library has determined whether the file may be stored or not.
Upon returning from this function, the request handle is initialized to refer to the append request's state.
If the server can't store the file at url, but has an alternative location for the user to store to, then the callback function will be called with the request's status set to GLOBUS_GASS_TRANSFER_REQUEST_REFERRED.
url - URL to get.
length - The length of the data to append to the url, if known. If this parameter is set to GLOBUS_GASS_LENGTH_UNKNOWN, then the append may fail if the protocol does not support arbitrarily-length files.
script - TCL script invoked once the transfer is completed. The command will be executed exactly once in global scope. If an error occurs while executing the command, then the bgerror mechanism is used to report the error.
RETURN VALUE
On success globus_gass_transfer_register_append returns 0 and request handle. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_register_append $attr $url 1024 { callback_script user_arg } ] result request_handle
BUGS
None
TODO
None
SEE ALSO
globus_gass_transfer_register_get, globus_gass_transfer_register_put.
NAME
globus_gass_transfer_register_get
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_register_get
attr
url
script
DESCRIPTION
This command is used to initiate a new "get" request of the file named by url. The entire file will be transfered from the server if the file exists and user is authorized to do so. This command does not block; instead, the user's script will be called once the GASS library has determined whether the file can be retrieved or not.
Upon returning from this command, the request handle is initialized to refer to the get request's state.
If the file doesn't exist at url, but a referral does, then this command will return with the request's status set to GLOBUS_GASS_TRANSFER_REQUEST_REFERRED.
url - URL to get.
script - TCL script invoked once the transfer is completed. The command will be executed exactly once in global scope. If an error occurs while executing the command, then the bgerror mechanism is used to report the error.
RETURN VALUE
On success globus_gass_transfer_register_get returns 0 and request handle. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_register_get $attr $url { callback_script user_arg } ] result request_handle
BUGS
None
TODO
None
SEE ALSO
globus_gass_transfer_register_put, globus_gass_transfer_register_append.
NAME
globus_gass_transfer_register_listen
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_register_listen
listener
script
DESCRIPTION
This command causes the listener handle to listen for new client connections. When one is ready, it calls the specified callback script, letting the server implementer continue to accept the connection and process the request.
PARAMETERS
listener - The listener handle to register for new connections.
script - TCL script invoked when the connection operation is pending. The command will be executed exactly once in global scope. If an error occurs while executing the command, then the bgerror mechanism is used to report the error.
RETURN VALUE
On success globus_gass_transfer_register_listen returns 0. On error, this command will raise an error and must be caught using the appropriate bgerror command.
EXAMPLE
lassign [ globus_io_tcp_register_listen $listener { callback_script callback_arg } ] result
BUGS
None
TODO
None
SEE ALSO
globus_gass_transfer_create_listener, globus_gass_transfer_close_listener.
NAME
globus_gass_transfer_register_put
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_register_put
attr
url
length
script
DESCRIPTION
This command is used to initiate a new "put" request of the file named by url. The entire file will be transfered to the server if the user is authorized to do so. This command does not block; instead, the user's script will be called once the GASS library has determined whether the file may be stored or not.
Upon returning from this command, the request handle is initialized to refer to the put request's state.
If the server can't store the file at url, but has an alternative location for the user to store to, then the script will be called with the request's status set to GLOBUS_GASS_TRANSFER_REQUEST_REFERRED.
url - URL to get.
length - The length of the data to put to the url, if known. If this parameter is set to GLOBUS_GASS_TRANSFER_LENGTH_UNKNOWN, then the put may fail if the protocol does not support arbitrarily-length files.
script - TCL script invoked once the transfer is completed. The command will be executed exactly once in global scope. If an error occurs while executing the command, then the bgerror mechanism is used to report the error.
RETURN VALUE
On success globus_gass_transfer_register_put returns 0 and request handle. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_register_put $attr $url 1024 { callback_script user_arg } ] result request_handle
BUGS
None
TODO
None
SEE ALSO
globus_gass_transfer_register_get, globus_gass_transfer_register_append.
NAME
globus_gass_transfer_request_destroy
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_request_destroy
request_handle
DESCRIPTION
This command is used to destroy a request handle.
This command destroys the caller's reference to a request handle. It must be called for all request handles which are created by calling commands in the globus_gass_transfer_client or globus_gass_transfer_server. After calling the command, the caller must not attempt to use the request handle for any purpose.
PARAMETERS
request_handle - The request handle to destroy.
RETURN VALUE
On success globus_gass_transfer_request_destroy returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_request_destroy $request_handle ] status
BUGS
None
TODO
None
NAME
globus_gass_transfer_request_get_denial_message
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_request_get_denial_message
request_handle
DESCRIPTION
This command is used to get an string describing why a request was denied.
This command queries a request which was denied by a server to determine why it was denied. The denial reason will be expressed as a response string. The string must be freed by the caller.
PARAMETERS
request_handle - A handle to the request to query.
RETURN VALUE
On success globus_gass_transfer_request_get_denial_message returns a string indicating why the request was denied. If the request handle is invalid or the request was not denied, then this command returns GLOBUS_NULL. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_request_get_string $request_handle ] denial_string
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_request_get_denial_reason
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_request_get_denial_reason
request_handle
DESCRIPTION
This command is used to get an integer code describing why the request was denied.
This command queries a request which was denied by a server to determine why it was denied. The denial reason will be expressed in a protocol-specific response code. Knowledge of the protocol is needed to understand this response.
PARAMETERS
request_handle - A handle to the request to query.
RETURN VALUE
On success globus_gass_transfer_request_get_denial_reason returns a protocol-specific integer indicating why the request was denied. If the request handle is invalid or the request was not denied, then this command returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_request_get_denial_reason $request_handle ] denial_code
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_request_get_length
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_request_get_length
request_handle
DESCRIPTION
This command is used to get the length of a file to be transferred using GASS.
This command queries the request handle to determine the amount of data that will be transferred to copy the URL. The length may be GLOBUS_GASS_TRANSFER_LENGTH_UNKNOWN if the sender can not determine the length before making or authorizing the request.
PARAMETERS
request_handle - The request handle to query.
RETURN VALUE
On success globus_gass_transfer_request_get_length returns 0 and the length of the file located at the request's URL, or GLOBUS_GASS_TRANSFER_LENGTH_UNKNOWN if that cannot be determined. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_request_get_length $request_handle ] status file_length
BUGS
None
TODO
None
NAME
globus_gass_transfer_request_get_referral
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_request_get_referral
request_handle
DESCRIPTION
This command is used to extract referral information from a request handle.
This command queries the request handle to determine any referral information that it contains. This command should only be called on request handles in the GLOBUS_GASS_TRANSFER_REQUEST_REFERRED state. If no referral information is stored in the request handle, then the referral will be initialized to an empty referral. The referral must be destroyed by calling globus_gass_transfer_referral_destroy by the caller.
PARAMETERS
request_handle - The request handle to query.
RETURN VALUE
On success globus_gass_transfer_request_get_referral returns 0 and the referral handle. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_request_get_referral $request_handle ] status referral_handle
BUGS
None
TODO
None
NAME
globus_gass_transfer_request_get_status
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_request_get_status
request_handle
DESCRIPTION
This command is used to check the status of a request.
This command queries a request to determine the status of the request. This command should be called after EOF has been reached, or after the initial get, put, or append has returned or had it's callback script called to determine if it is possible to procede, or whether the file transfer was successfully processed.
PARAMETERS
request_handle - The request handle to query.
RETURN VALUE
On success globus_gass_transfer_request_get_status returns the current status of the request. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_request_get_status $request ] status
BUGS
None
TODO
None
NAME
globus_gass_transfer_request_get_subject
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_request_get_subject
request_handle
DESCRIPTION
This command is used to get the subject string associated with a request.
This command queries a request handle to determine the subject identity of the client who initiated the request. The string must not be freed by the caller.
PARAMETERS
request_handle - A handle to the request to query.
RETURN VALUE
On success globus_gass_transfer_request_get_subject returns a string containing the request initiator's subject identity. If the request handle is invalid or a credential was not used to initiate the request, this value will be GLOBUS_NULL. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_request_get_subject $request_handle ] subject_string
BUGS
None
TODO
None
NAME
globus_gass_transfer_request_get_type
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_request_get_type
request_handle
DESCRIPTION
This command is used to determine the type of a request.
This command is used by GASS server implementations to discover what type of operation the client is requesting for an URL.
PARAMETERS
request_handle - The request to query.
RETURN VALUE
On success globus_gass_transfer_request_get_type returns a string containing the type of the request. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_request_get_type $request_handle ] request_type
BUGS
None
TODO
None
NAME
globus_gass_transfer_request_get_url
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_request_get_url
request_handle
DESCRIPTION
This command is used to get the URL from a request handle.
This command queries the request handle to determine the URL associated with the request. This command is intended to be useful to GASS server implementors.
PARAMETERS
request_handle - The request handle to query.
RETURN VALUE
On success globus_gass_transfer_request_get_url returns 0 and the URL associated with the request. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_request_get_url $request_handle ] status url
BUGS
None
TODO
None
NAME
globus_gass_transfer_request_get_user_pointer
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_request_get_user_pointer
request_handle
DESCRIPTION
This command is used to get the user pointer associated with a request.
This command extracts the user pointer from a request handle. The user-pointer may be used by the application which is generating or servicing the request to store a pointer to any application-specific piece of data.
PARAMETERS
request_handle - The request to query.
RETURN VALUE
On success globus_gass_transfer_request_get_user_pointer returns the user-specified pointer in the handle structure. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_request_get_user_pointer $request ] user-pointer
BUGS
None
TODO
None
NAME
globus_gass_transfer_request_set_length
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_request_set_length
request_handle
length
DESCRIPTION
This command is used to set the length of a transfer associated request handle.
This command modifies the given request handle so that it's length field is set to give length parameter.
This command must only be called by protocol modules when constructing a request handle when receiving the response to a get request. This command can only be called once per request handle.
PARAMETERS
request_handle - The request handle to modify.
length - The length of the file request.
RETURN VALUE
On success globus_gass_transfer_request_set_length returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_request_set_length $request $length ] result
BUGS
None
TODO
None
NAME
globus_gass_transfer_request_set_type
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_request_set_type
request_handle
request_type
DESCRIPTION
This command is used to set the type of a request.
This command modifies a request handle by setting the type of operation that it is being used for. This command may only be called once per handle, and only from a GASS protocol module implementation.
PARAMETERS
request_handle - The request handle to modify.
request_type - The type of operation that this request handle will be used for.
RETURN VALUE
On success globus_gass_transfer_request_set_type returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_request_set_type $request $type ] result
BUGS
None
TODO
None
NAME
globus_gass_transfer_request_set_url
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_request_set_url
request_handle
url
DESCRIPTION
This command is used to set the URL to which a request handle refers.
This command modifies the given request handle so that it's URL field is set to string pointed to by url.
No copy is made of the string, so the caller must not free it. It must be allocated by calling one of the memory allocators in globus_libc, as it will be freed when the request handle is destroyed.
This command must only be called by protocol modules when constructing a request handle when accepting a new request. This command can only be called once per request handle.
PARAMETERS
request_handle - The request handle to modify.
url - A string containing the URL that this request will be associated with.
RETURN VALUE
On success globus_gass_transfer_request_set_url returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_request_set_url $request $url ] result
BUGS
None
TODO
None
NAME
globus_gass_transfer_request_set_user_pointer
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_request_set_user_pointer
request_handle
user_pointer
DESCRIPTION
This command is used to set the user pointer associated with a request handle.
This command sets the user pointer from a request handle. The user-pointer may be used by the application which is generating or servicing the request to store a pointer to any application-specific piece of data.
PARAMETERS
request_handle - The request handle to modify.
user-pointer - The new value of the user pointer for the request.
RETURN VALUE
On success globus_gass_transfer_request_set_user_pointer returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_request_set_user_pointer $request $user-pointer ] result
BUGS
None
TODO
None
NAME
globus_gass_transfer_requestattr_destroy
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_requestattr_destroy
request_attr
DESCRIPTION
This command is used to destroy the attribute set specified in request_attr.
PARAMETERS
request_attr - The attribute set to be destroyed.
RETURN VALUE
On success globus_gass_transfer_requestattr_destroy returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_requestattr_destroy $request_attr ] status
BUGS
None
TODO
None
NAME
globus_gass_transfer_requestattr_get_authorization
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_requestattr_get_authorization
request_attr
DESCRIPTION
This command is used to get the authorization attribute for a GASS transfer attribute set.
PARAMETERS
request_attr - The attribute set to be queried.
RETURN VALUE
On success globus_gass_transfer_requestattr_get_authorization returns 0, mode and subject. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_requestattr_get_authorization $request_attr ] status mode subject
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_requestattr_get_block_size
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_requestattr_get_block_size
request_attr
DESCRIPTION
This command is used to get the block size attribute for a GASS transfer attribute set.
PARAMETERS
request_attr - The attribute set to be queried.
RETURN VALUE
On success globus_gass_transfer_requestattr_get_block_size returns 0 and block size. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_requestattr_get_block_size $request_attr ] status block_size
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_requestattr_get_connection_reuse
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_requestattr_get_connection_reuse
request_attr
DESCRIPTION
This command is used to get the connection reuse attribute for a GASS transfer attribute set.
PARAMETERS
request_attr - The attribute set to be queried.
RETURN VALUE
On success globus_gass_transfer_requestattr_get_connection_reuse returns 0 and the value of the connection reuse attribute. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_requestattr_get_connection_reuse $request_attr ] status connection_reuse
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_requestattr_get_file_mode
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_requestattr_get_file_mode
request_attr
DESCRIPTION
This command is used to get the file mode attribute for a GASS transfer attribute set.
PARAMETERS
request_attr - The attribute set to be queried.
RETURN VALUE
On success globus_gass_transfer_requestattr_get_file_mode returns 0 and file mode. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_requestattr_get_file_mode $request_attr ] status filemode
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_requestattr_get_proxy_url
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_requestattr_get_proxy_url
request_attr
DESCRIPTION
This command is used to get the proxy server attribute for a GASS transfer attribute set.
PARAMETERS
request_attr - The attribute set to be queried.
RETURN VALUE
On success globus_gass_transfer_requestattr_get_proxy_url returns 0 and the proxy_url attribute. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_requestattr_get_proxy_url $request_attr ] status proxy_url
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_requestattr_get_socket_nodelay
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_requestattr_get_socket_nodelay
request_attr
DESCRIPTION
This command is used to get the TCP nodelay attribute for a GASS transfer attribute set.
PARAMETERS
request_attr - The attribute set to be queried.
RETURN VALUE
On success globus_gass_transfer_requestattr_get_socket_nodelay returns 0 and the value of the nodelay attribute. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_requestattr_get_socket_nodelay $request_attr ] status nodelay
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_requestattr_get_socket_rcvbuf
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_requestattr_get_socket_rcvbuf
request_attr
DESCRIPTION
This command is used to get the receive buffer size attribute for a GASS transfer attribute set.
PARAMETERS
request_attr - The attribute set to be queried.
RETURN VALUE
On success globus_gass_transfer_requestattr_get_socket_rcvbuf returns 0 and the value of the socket buffer. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_requestattr_get_socket_rcvbuf $request_attr ] status rcvbuf
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_requestattr_get_socket_sndbuf
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_requestattr_get_socket_sndbuf
request_attr
DESCRIPTION
This command is used to get the send buffer size attribute for a GASS transfer attribute set.
PARAMETERS
request_attr - The attribute set to be queried.
RETURN VALUE
On success globus_gass_transfer_requestattr_get_socket_sndbuf returns 0 and the value of the socket buffer. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_requestattr_get_socket_sndbuf $request_attr ] status sndbuf
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_requestattr_init
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_requestattr_init
request_attr
url_scheme
DESCRIPTION
This command is used to initialize the attributes to contain a new protocol-specific request attributes.
PARAMETERS
request_attr - The attribute set to be initialized.
url_scheme - The scheme which which the attribute will be used for.
RETURN VALUE
On success globus_gass_transfer_requestattr_init returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_requestattr_init $request_attr http ] status
BUGS
None
TODO
None
NAME
globus_gass_transfer_requestattr_set_authorization
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_requestattr_set_authorization
request_attr
mode
subject
DESCRIPTION
This command is used to set the authorization attribute for a GASS transfer attribute set.
This attribute allows the user to control what type of authorization should be done when GASS Transfer requests are processed.
PARAMETERS
request_attr - The attribute set to be modified.
mode - The authorization mode to use. |html
subject - The subject name of the authorized subject, if mode is GLOBUS_GASS_TRANSFER_AUTHORIZE_SUBJECT
RETURN VALUE
On success globus_gass_transfer_requestattr_set_authorization returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_requestattr_set_authorization $request_attr $mode $subject ] status
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_requestattr_set_block_size
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_requestattr_set_block_size
request_attr
block_size
DESCRIPTION
This command is used to set the block size attribute for a GASS transfer attribute set.
PARAMETERS
request_attr - The attribute set to be modified.
block_size - The data block size that should be used to process requests with this attribute set.
RETURN VALUE
On success globus_gass_transfer_requestattr_set_block_size returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_requestattr_set_block_size $request_attr 1024 ] status
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_requestattr_set_connection_reuse
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_requestattr_set_connection_reuse
request_attr
connection_reuse
DESCRIPTION
This command is used to set the connection reuse attribute for a GASS transfer attribute set.
This attribute allows the user to control whether the connection associated with a GASS Transfer request should be reused after the file transfer has completed.
PARAMETERS
request_attr - The attribute set to be modified.
file_mode - The value of the connection reuse attribute.
RETURN VALUE
On success globus_gass_transfer_requestattr_set_connection_reuse returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_requestattr_set_connection_reuse $request_attr $GLOBUS_TRUE ] status
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_requestattr_set_file_mode
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_requestattr_set_file_mode
request_attr
file_mode
DESCRIPTION
This command is used to set the file mode attribute for a GASS transfer attribute set.
PARAMETERS
request_attr - The attribute set to be modified.
file_mode - The value of the file mode attribute.
RETURN VALUE
On success globus_gass_transfer_requestattr_set_file_mode returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_requestattr_set_file_mode $request_attr $GLOBUS_GASS_TRANSFER_FILE_MODE_TEXT ] status
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_requestattr_set_proxy_url
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_requestattr_set_proxy_url
request_attr
proxy_url
DESCRIPTION
This command is used to set the proxy server attribute for a GASS transfer attribute set.
This attribute allows the user to use a proxy server to handle a URL request.
PARAMETERS
request_attr - The attribute set to be modified.
proxy_url - The new value of the proxy_url attribute. This may be GLOBUS_NULL if no proxy is to be used to access URLs with this attribute set.
RETURN VALUE
On success globus_gass_transfer_requestattr_set_proxy_url returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_requestattr_set_proxy_url $request_attr $proxy_url ] status
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_requestattr_set_socket_nodelay
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_requestattr_set_socket_nodelay
request_attr
nodelay
DESCRIPTION
This command is used to set the TCP nodelay attribute for a GASS transfer attribute set.
This attribute allows the user to control the socket receive buffer associated with a GASS Transfer request should be reused after the file transfer has completed.
PARAMETERS
request_attr - The attribute set to be modified.
nodelay - The value of the nodelay attribute.
RETURN VALUE
On success globus_gass_transfer_requestattr_set_socket_nodelay returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_requestattr_set_socket_nodelay $request_attr $GLOBUS_TRUE ] status
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_requestattr_set_socket_rcvbuf
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_requestattr_set_socket_rcvbuf
request_attr
rcvbuf
DESCRIPTION
This command is used to set the receive buffer size attribute for a GASS transfer attribute set.
This attribute allows the user to control the socket receive buffer associated with a GASS Transfer request should be reused after the file transfer has completed.
PARAMETERS
request_attr - The attribute set to be modified.
rcvbuf - The value of the socket buffer.
RETURN VALUE
On success globus_gass_transfer_requestattr_set_socket_rcvbuf returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_requestattr_set_socket_rcvbuf $request_attr 1024 ] status
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_requestattr_set_socket_sndbuf
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_requestattr_set_socket_sndbuf
request_attr
sndbuf
DESCRIPTION
This command is used to set the send buffer size attribute for a GASS transfer attribute set.
This attribute allows the user to control the socket send buffer associated with a GASS Transfer request should be reused after the file transfer has completed.
PARAMETERS
request_attr - The attribute set to be modified.
sndbuf - The value of the connection reuse attribute.
RETURN VALUE
On success globus_gass_transfer_requestattr_set_socket_sndbuf returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_gass_transfer_requestattr_set_socket_sndbuf $request_attr 1024 ] status
BUGS
None
TODO
None
SEE ALSO
NAME
globus_gass_transfer_send_bytes
SYNOPSIS
package require globus_gass_transfer
globus_gass_transfer_send_bytes
request_handle
buffer
length
last_data
script
DESCRIPTION
This command is used to send a byte array associated with a request handle.
This command sends a block of data to a server or client as part of the processing for a request. Multiple data blocks may be registered with the GASS transfer library at once.
When processing a server request, this command may only be used in conjunction with "get" requests. The user must call globus_gass_transfer_authorize before calling this command.
When processing a client request, this command may only be used in conjunction with "put" or "append" requests. This command may not be called before either the callback function has been invoked, or the blocking globus_gass_tranfser_put or globus_gass_transfer_append command has returned.
PARAMETERS
request_handle - The request handle with which this block of bytes is associated.
buffer - A user-supplied buffer containing the data associated with the request.
length - The length of the bytes array.
last_data - A flag to indicate whether this is the final block of data for the request. If this is true, then the callback function will be delayed until the server acknowledges that the file has been completely received.
script - TCL script invoked when the operation is completed. The command will be executed exactly once in global scope. If an error occurs while executing the command, then the bgerror mechanism is used to report the error.
RETURN VALUE
On success globus_gass_transfer_send_bytes returns 0. On error, this command will raise an error and must be caught using the appropriate bgerror command.
EXAMPLE
lassign [ globus_gass_transfer_send_bytes $request_handle $buffer $length $last_data { callback_script callback_arg } ] result
BUGS
None
TODO
None
SEE ALSO