globus_gas...equestattr(3)

πŸ“¦
version 9.5 Β· 6 versions
, in epel 10, fedora 43, fedora 44, ubuntu resolute, ubuntu stonking

🌸 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 born
  • int 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 bestie
  • 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) β€” 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 off
  • 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) β€” 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 subject
  • globus_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 port
  • int 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 β€” either attr or url_scheme was GLOBUS_NULL. 😭
  • GLOBUS_GASS_TRANSFER_ERROR_NOT_IMPLEMENTED β€” no protocol module currently registered with the GASS Transfer Library handles URLs with the specified url_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

  • obj
  • backlog
  • port

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 β€” the attr was GLOBUS_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 β€” either attr or url_scheme was GLOBUS_NULL.
  • GLOBUS_GASS_TRANSFER_ERROR_NOT_IMPLEMENTED β€” no protocol module currently registered with the GASS Transfer Library handles URLs with the specified url_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 β€” the attr was GLOBUS_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 β€” the attr was GLOBUS_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 β€” the attr was GLOBUS_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 the proxy_url attribute. This may be GLOBUS_NULL if 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 β€” the attr was GLOBUS_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 β€” the attr was GLOBUS_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 β€” the attr was GLOBUS_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 β€” the attr was GLOBUS_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

  • obj
  • proxy_url
  • block_size
  • file_mode
  • connection_reuse
  • sndbuf
  • rcvbuf
  • nodelay
  • authorization
  • subject

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, if mode is GLOBUS_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 β€” the attr was GLOBUS_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

  • obj
  • proxy_url
  • block_size
  • file_mode
  • connection_reuse
  • sndbuf
  • rcvbuf
  • nodelay

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. πŸ’…πŸŽ€