globus_gas...equestattr(3)
πΈ NAME πΈ
globus_gass_transfer_requestattr β Request Attributes.
Request Attributes.
(yeah, that's it, that's the whole name section, it's very demure, very mindful π )
okay so real talk bestie, this is the globus_gas...equestattr(3) page from the Library Functions Manual, and it's all about Request Attributes β¨
β¨ SYNOPSIS β¨
π«Ά Functions
int globus_gass_transfer_requestattr_init(globus_gass_transfer_requestattr_t *attr, char *url_scheme)β the glow-up moment where your attr gets bornint globus_gass_transfer_requestattr_destroy(globus_gass_transfer_requestattr_t *attr)β and this is the "okay bye, clean up after yourself" one
π Proxy Server
int globus_gass_transfer_requestattr_set_proxy_url(globus_gass_transfer_requestattr_t *attr, char *proxy_url)β tell it which proxy server to slide through
π Block Size
int globus_gass_transfer_requestattr_set_block_size(globus_gass_transfer_requestattr_t *attr, globus_size_t block_size)β sets the block size, iconic
π¦ File Mode
int globus_gass_transfer_requestattr_set_file_mode(globus_gass_transfer_requestattr_t *attr, globus_gass_transfer_file_mode_t file_mode)β sets the file mode, no cap
π₯ Connection Reuse
int globus_gass_transfer_requestattr_set_connection_reuse(globus_gass_transfer_requestattr_t *attr, globus_bool_t connection_reuse)β are we reusing this connection or not, decide bestieglobus_object_t * globus_gass_transfer_socket_requestattr_initialize(globus_object_t *obj, char *proxy_url, globus_size_t block_size, globus_gass_transfer_file_mode_t file_mode, globus_bool_t connection_reuse, int sndbuf, int rcvbuf, globus_bool_t nodelay)β the full send, one call, everything at once
π Socket Send Buffer Size
int globus_gass_transfer_requestattr_set_socket_sndbuf(globus_gass_transfer_requestattr_t *attr, int sndbuf)β sets the send buffer size for the socket
π Receive Socket Buffer
int globus_gass_transfer_requestattr_set_socket_rcvbuf(globus_gass_transfer_requestattr_t *attr, int rcvbuf)β sets the receive buffer, the receiving end of the vibe
β TCP Nodelay
int globus_gass_transfer_requestattr_set_socket_nodelay(globus_gass_transfer_requestattr_t *attr, globus_bool_t nodelay)β turn the nodelay knob on or offglobus_object_t * globus_gass_transfer_secure_requestattr_initialize(globus_object_t *obj, char *proxy_url, globus_size_t block_size, globus_gass_transfer_file_mode_t file_mode, globus_bool_t connection_reuse, int sndbuf, int rcvbuf, globus_bool_t nodelay, globus_gass_transfer_authorization_t authorization, char *subject)β the secure version of the full send, it's giving extra params β¨
π
Authorization
int globus_gass_transfer_secure_requestattr_set_authorization(globus_gass_transfer_requestattr_t *attr, globus_gass_transfer_authorization_t mode, char *subject)β set your authorization mode and subjectglobus_object_t * globus_gass_transfer_listenerattr_initialize(globus_object_t *obj, int backlog, unsigned short port)β initialize a listener attr with a backlog and a portint globus_gass_transfer_listenerattr_init(globus_gass_transfer_listenerattr_t *attr, char *url_scheme)β init a listener attr with a url scheme
π Detailed Description π
Request Attributes.
The GASS Transfer library uses Globus objects to provide an extensible way of creating protocol-specific attributes.
so basically, instead of hardcoding one vibe, GASS lets you build up protocol-specific attribute objects and extend them however you need π«Άβ¨
β¨ Function Documentation β¨
π globus_gass_transfer_listenerattr_init π
int globus_gass_transfer_listenerattr_init
(globus_gass_transfer_listenerattr_t * attr, char * url_scheme)
Initialize a listener attribute. Bestie, this one sets up attr so it's holding a brand-new protocol-specific listener attribute. Fresh out the box. π
Parameters
attrβ the attribute set that's about to get initialized, no cap.url_schemeβ the scheme which which the attribute will be used for. (Yes, the docs say "which which." We don't edit the ancestors. π«Ά)
Return values
GLOBUS_SUCCESSβ the attribute was successfully initialized. slay. β¨GLOBUS_GASS_TRANSFER_ERROR_NULL_POINTERβ eitherattrorurl_schemewasGLOBUS_NULL. πGLOBUS_GASS_TRANSFER_ERROR_NOT_IMPLEMENTEDβ no protocol module currently registered with the GASS Transfer Library handles URLs with the specifiedurl_scheme. it's giving nobody's home π
π¦ globus_gass_transfer_listenerattr_initialize π¦
globus_object_t * globus_gass_transfer_listenerattr_initialize
(globus_object_t * obj, int backlog, unsigned short port)
Initialize a base listener attribute. The vibe check for your foundation-level listener attr. πΈ
Parameters
objbacklogport
Returns
Returns the obj pointer if the object inherited from the GLOBUS_GASS_OBJECT_TYPE_LISTENERTATTR type and the attribute could be initialized; GLOBUS_NULL otherwise. (Yes, LISTENERTATTR. That's the name. We love her anyway. π)
π globus_gass_transfer_requestattr_destroy π
int globus_gass_transfer_requestattr_destroy
(globus_gass_transfer_requestattr_t * attr)
Destroy a request attribute. Not me violently ending an attribute set's whole career π β this function destroys the attribute set you passed in as attr.
Parameters
attrβ the attribute set to be destroyed. bye bestie π
Return values
GLOBUS_SUCCESSβ the attribute was successfully destroyed. periodt.GLOBUS_GASS_TRANSFER_ERROR_NULL_POINTERβ theattrwasGLOBUS_NULL. π
β globus_gass_transfer_requestattr_init β
int globus_gass_transfer_requestattr_init
(globus_gass_transfer_requestattr_t * attr, char * url_scheme)
Initialize a request attribute. Same energy as the listener version but for requests: it fills attr with a brand-new protocol-specific request attribute. main character setup energy π
Parameters
attrβ the attribute set to be initialized.url_schemeβ the scheme which which the attribute will be used for.
Return values
GLOBUS_SUCCESSβ the attribute was successfully initialized. πGLOBUS_GASS_TRANSFER_ERROR_NULL_POINTERβ eitherattrorurl_schemewasGLOBUS_NULL.GLOBUS_GASS_TRANSFER_ERROR_NOT_IMPLEMENTEDβ no protocol module currently registered with the GASS Transfer Library handles URLs with the specifiedurl_scheme. π
π globus_gass_transfer_requestattr_set_block_size π
int globus_gass_transfer_requestattr_set_block_size
(globus_gass_transfer_requestattr_t * attr, globus_size_t block_size)
Set/Get the block size attribute for a GASS transfer attribute set. This attribute lets you suggest a preferred block size for a server to handle a URL request. A lil suggestion, a lil hint, a lil whisper to the server π«Ά
Parameters
attrβ the attribute set to query or modify.block_sizeβ the data block size that should be used to process requests with this attribute set.
Return values
GLOBUS_SUCCESSβ the attribute was successfully updated. β¨GLOBUS_GASS_TRANSFER_ERROR_NULL_POINTERβ theattrwasGLOBUS_NULL.
π globus_gass_transfer_requestattr_set_connection_reuse π
int globus_gass_transfer_requestattr_set_connection_reuse
(globus_gass_transfer_requestattr_t * attr, globus_bool_t connection_reuse)
Set/Get the connection reuse attribute for a GASS transfer attribute set. This one gives you the aux cord: it controls whether the connection tied to a GASS Transfer request should be reused once the file transfer has completed. Recycle era β»οΈβ¨
Parameters
attrβ the attribute set to query or modify.connection_reuseβ the value of the connection reuse attribute.
Return values
GLOBUS_SUCCESSβ the attribute was successfully updated.GLOBUS_GASS_TRANSFER_ERROR_NULL_POINTERβ theattrwasGLOBUS_NULL. π
π§ globus_gass_transfer_requestattr_set_file_mode π§
int globus_gass_transfer_requestattr_set_file_mode
(globus_gass_transfer_requestattr_t * attr,
globus_gass_transfer_file_mode_t file_mode)
Set/Get the file mode attribute for a GASS transfer attribute set. You get to decide: ASCII or binary file mode for the transfer. Choose your fighter π
Parameters
attrβ the attribute set to query or modify.file_modeβ the value of the file mode attribute.
Return values
GLOBUS_SUCCESSβ the attribute was successfully updated.GLOBUS_GASS_TRANSFER_ERROR_NULL_POINTERβ theattrwasGLOBUS_NULL.
πΈ globus_gass_transfer_requestattr_set_proxy_url πΈ
int globus_gass_transfer_requestattr_set_proxy_url
(globus_gass_transfer_requestattr_t * attr, char * proxy_url)
Set/Get the proxy server attribute for a GASS transfer attribute set. This attribute lets the user route a URL request through a proxy server. Middleman core π
Parameters
attrβ the attribute set to be modified. (Note: the docs say "to be modified" here, not "to query or modify." We keep the lore exactly as written π)proxy_urlβ the new value of theproxy_urlattribute. This may beGLOBUS_NULLif no proxy is to be used to access URLs with this attribute set.
Return values
GLOBUS_SUCCESSβ the attribute was successfully updated.GLOBUS_GASS_TRANSFER_ERROR_NULL_POINTERβ theattrwasGLOBUS_NULL.
π¦ globus_gass_transfer_requestattr_set_socket_nodelay π¦
int globus_gass_transfer_requestattr_set_socket_nodelay
(globus_gass_transfer_requestattr_t * attr, globus_bool_t nodelay)
Set/Get the TCP nodelay attribute for a GASS transfer attribute set. So the description here literally reads: "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." Yes, that's what it says, on the nodelay function. We are not fixing it. We are just reporting it. iykyk π
Parameters
attrβ the attribute set to query or modify.nodelayβ the value of the nodelay attribute.
Return values
GLOBUS_SUCCESSβ the attribute was successfully updated.GLOBUS_GASS_TRANSFER_ERROR_NULL_POINTERβ theattrwasGLOBUS_NULL.
π globus_gass_transfer_requestattr_set_socket_rcvbuf π
int globus_gass_transfer_requestattr_set_socket_rcvbuf
(globus_gass_transfer_requestattr_t * attr, int rcvbuf)
Set/Get the receive buffer size attribute for a GASS transfer attribute set. And the blurb: "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." Same sentence again, bestie. It's a whole family of copy-paste and we love them all equally ππ
Parameters
attrβ the attribute set to query or modify.rcvbufβ the value of the socket buffer.
Return values
GLOBUS_SUCCESSβ the attribute was successfully updated.GLOBUS_GASS_TRANSFER_ERROR_NULL_POINTERβ theattrwasGLOBUS_NULL.
β¨ globus_gass_transfer_requestattr_set_socket_sndbuf β¨
int globus_gass_transfer_requestattr_set_socket_sndbuf
(globus_gass_transfer_requestattr_t * attr, int sndbuf)
Set/Get the send buffer size attribute for a GASS transfer attribute set. And once more, the description reads: "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." Three for three. iconic consistency honestly π
Parameters
attrβ the attribute set to query or modify.sndbufβ the value of the socket buffer.
Return values
GLOBUS_SUCCESSβ the attribute was successfully updated.GLOBUS_GASS_TRANSFER_ERROR_NULL_POINTERβ theattrwasGLOBUS_NULL.
π globus_gass_transfer_secure_requestattr_initialize π
globus_object_t * globus_gass_transfer_secure_requestattr_initialize
(globus_object_t * obj, char * proxy_url, globus_size_t block_size,
globus_gass_transfer_file_mode_t file_mode, globus_bool_t connection_reuse,
int sndbuf, int rcvbuf, globus_bool_t nodelay,
globus_gass_transfer_authorization_t authorization, char * subject)
Initialize a secure request attribute. The full-glam version β ten arguments, zero notes. Look at that signature. She ate. π β¨
Parameters
objproxy_urlblock_sizefile_modeconnection_reusesndbufrcvbufnodelayauthorizationsubject
Returns
Returns the obj pointer if the object inherited from the GLOBUS_GASS_OBJECT_TYPE_SECURE_REQUESTATTR type and the attribute could be initialized; GLOBUS_NULL otherwise. π«Ά
π₯ globus_gass_transfer_secure_requestattr_set_authorization π₯
int globus_gass_transfer_secure_requestattr_set_authorization
(globus_gass_transfer_requestattr_t * attr,
globus_gass_transfer_authorization_t mode, char * subject)
Set/Get the authorization attribute for a GASS transfer attribute set. This one controls what type of authorization gets done when GASS Transfer requests are processed. Security girlies rise π
Parameters
attrβ the attribute set to query or modify.modeβ the authorization mode to use.subjectβ the subject name of the authorized subject, ifmodeisGLOBUS_GASS_TRANSFER_AUTHORIZE_SUBJECT. (Only then! Read the conditional, bestie π)
Return values
GLOBUS_SUCCESSβ the attribute was successfully updated.GLOBUS_GASS_TRANSFER_ERROR_NULL_POINTERβ theattrwasGLOBUS_NULL.
π globus_gass_transfer_socket_requestattr_initialize π
globus_object_t * globus_gass_transfer_socket_requestattr_initialize
(globus_object_t * obj, char * proxy_url, globus_size_t block_size,
globus_gass_transfer_file_mode_t file_mode, globus_bool_t connection_reuse,
int sndbuf, int rcvbuf, globus_bool_t nodelay)
Initialize a socket request attribute. The secure one's chill cousin β eight args instead of ten, no authorization, no subject. She's off the clock π
Parameters
objproxy_urlblock_sizefile_modeconnection_reusesndbufrcvbufnodelay
Returns
Returns the obj pointer if the object inherited from the GLOBUS_GASS_OBJECT_TYPE_SOCKET_REQUESTATTR type and the attribute could be initialized; GLOBUS_NULL otherwise.
π Author π
Generated automatically by Doxygen for globus_gass_transfer from the source code. (Not a human, not a bestie, just a robot doing its little document thing π€β¨)
And that's a wrap on part 2, my love π«Ά This whole page is from the globus_gass_transfer manual, Version 9.5 β that's the source and version straight off the footer, so credit where credit is due. The footer didn't hand us a date, so no date to spill, no cap. Go forth and attribute responsibly, bestie. π
π
π¦ where this page comes from
- epel 10: globus-gass-transfer-doc 9.5-1.el10_2 Β· Apache-2.0
- fedora 43: globus-gass-transfer-doc 9.5-1.fc43 Β· Apache-2.0
- fedora 44: globus-gass-transfer-doc 9.5-2.fc44 Β· Apache-2.0
- ubuntu resolute: libglobus-gass-transfer-doc 9.5-1 Β· Apache-2.0
- ubuntu stonking: libglobus-gass-transfer-doc 9.5-2 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms