GLOBUS_FTP_CLIENT_HANDLE_REMOVE_PLUGIN(3)

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

πŸ’– NAME πŸ’–

globus_ftp_client_handle β€” Handle Management

  • Handle Management.

✨ SYNOPSIS ✨

🧸 Data Structures

  • struct globus_i_ftp_client_data_target_t
    • Data connection caching information.
  • struct globus_i_ftp_client_handle_t
    • FTP Client handle implementation.

🏷️ Typedefs

  • typedef struct globus_i_ftp_client_handle_t * globus_ftp_client_handle_t
    • FTP Client Handle.
  • typedef struct globus_i_ftp_client_handle_t globus_i_ftp_client_handle_t
    • FTP Client handle implementation.

🌱 Initialize

globus_result_t globus_ftp_client_handle_init
    (globus_ftp_client_handle_t *handle, globus_ftp_client_handleattr_t
    *attr)

πŸ’€ Destroy

globus_result_t globus_ftp_client_handle_destroy
    (globus_ftp_client_handle_t *handle)

πŸ”— URL Caching

globus_result_t globus_ftp_client_handle_cache_url_state
    (globus_ftp_client_handle_t *handle, const char *url)
globus_result_t globus_ftp_client_handle_flush_url_state
    (globus_ftp_client_handle_t *handle, const char *url)

🫢 User Pointer

globus_result_t globus_ftp_client_handle_set_user_pointer
    (globus_ftp_client_handle_t *handle, void *user_pointer)

🧩 Plugins

globus_result_t globus_ftp_client_handle_add_plugin
    (globus_ftp_client_handle_t *handle, globus_ftp_client_plugin_t
    *plugin)
globus_result_t globus_ftp_client_handle_remove_plugin
    (globus_ftp_client_handle_t *handle, globus_ftp_client_plugin_t
    *plugin)

πŸ“– Detailed Description

Handle Management.

Create/Destroy/Modify an FTP Client Handle. πŸ’…

okay so listen bestie β€” inside the Globus FTP Client Library, every single FTP operation needs a handle parameter. That's not a vibe, that's the law. And rn, only one FTP operation may be in progress at once per FTP handle. One. Singular. No multitasking, no chaos, no "but what if I justβ€”" πŸ™ˆ

The good news? FTP connections can be cached between FTP operations for improved performance. It's giving ✨ efficiency ✨.

This section defines the operations to create and destroy FTP Client handles, plus how to modify handles' connection caches. Periodt.


πŸ¦‹ Typedef Documentation

typedef struct globus_i_ftp_client_handle_t* globus_ftp_client_handle_t

FTP Client Handle. An FTP client handle is used to associate state with a group of operations. Handles can have attributes associated with them. All FTP operations take a handle pointer as a parameter. πŸŽ€

See also

  • globus_ftp_client_handle_init(), globus_ftp_client_handle_destroy(), globus_ftp_client_handleattr_t

πŸ”₯ Function Documentation

globus_result_t globus_ftp_client_handle_add_plugin

(globus_ftp_client_handle_t * handle, globus_ftp_client_plugin_t *
plugin)

Add a plugin to an FTP client handle. πŸ’–

This function adds a plugin to an FTP client handle after it has been created. Plugins may be added to an ftp client handle whenever an operation is not in progress. The plugin will be appended to the list of plugins present in the handle, and will be invoked during any subsequent operations processed with this handle. It's giving "welcome to the group chat, you're in the rotation now" 🫢

Only one instance of a particular plugin may be added to a particular handle. No duplicates, bestie, that's not the vibe.

Plugins may be removed from a handle by calling globus_ftp_client_remove_plugin().

Parameters

  • handle β€” The FTP client handle to set or query.
  • plugin β€” A pointer to the plugin structure to add to this handle.

See also

  • globus_ftp_client_remove_plugin(), globus_ftp_clent_handleattr_add_plugin(), globus_ftp_clent_handleattr_remove_plugin()

globus_result_t globus_ftp_client_handle_cache_url_state

(globus_ftp_client_handle_t * handle, const char * url)

Cache connections to an FTP server. 🌈

Explicitly cache connections to URL server in an FTP handle. When an URL is cached, the client library will not close the connection to the URL server after a file transfer completes. The connection just... stays. Iconic behaviour honestly πŸ’…

Parameters

  • handle β€” Handle which will contain a cached connection to the URL server.
  • url β€” The URL of the FTP or GSIFTP server to cache.

See also

  • globus_ftp_client_flush_url_state()

globus_result_t globus_ftp_client_handle_destroy

(globus_ftp_client_handle_t * handle)

Destroy a client FTP handle. πŸ’€

An FTP client handle may not be destroyed if a get, put, or third-party transfer is in progress. Like, do NOT. Finish your transfer first, bestie, we do not pull the plug mid-operation, that's so not slay.

Parameters

  • handle β€” The handle to be destroyed.

See also

  • globus_ftp_client_handle_init()

globus_result_t globus_ftp_client_handle_flush_url_state

(globus_ftp_client_handle_t * handle, const char * url)

Remove a cached connection from the FTP client handle. 🧹

Explicitly remove a cached connection to an FTP server from the FTP handle. If an idle connection to an FTP server exists, it will be closed. Bye bestie, it was real 🫢

Parameters

  • handle β€” Handle which will contain a cached connection to the URL server.
  • url β€” The URL of the FTP or GSIFTP server to cache.

globus_result_t globus_ftp_client_handle_init

(globus_ftp_client_handle_t * handle, globus_ftp_client_handleattr_t * attr)

Initialize a client FTP handle. 🌱

Initialize an FTP handle which can be used in subsequent get, put, or transfer requests.

A handle may have at most one get, put, or third-party transfer in progress. One at a time, that's the whole vibe check.

Parameters

  • handle β€” The handle to be initialized.
  • attr β€” Initial attributes to be used to create this handle.

See also

  • globus_ftp_client_handle_destroy()

globus_result_t globus_ftp_client_handle_remove_plugin

(globus_ftp_client_handle_t * handle, globus_ftp_client_plugin_t * plugin)

Remove a plugin to an FTP client handle. 🧩

This function removes a plugin from an FTP client handle after it has been created. Plugins may be removed from an ftp client handle whenever an operation is not in progress. The plugin will be removed from the list of plugins, and will not be used during any subsequent operations processed with this handle. It's giving "you're out of the rotation, no hard feelings" ✨

This function can remove plugins which were added at handle initialization time or by calling globus_ftp_client_handle_add_plugin().

Parameters

  • handle β€” The FTP client handle to set or query.
  • plugin β€” A pointer to the plugin structure to remove from this handle.

See also

  • globus_ftp_client_add_plugin(), globus_ftp_clent_handleattr_add_plugin(), globus_ftp_clent_handleattr_remove_plugin()

globus_result_t globus_ftp_client_handle_set_user_pointer

(globus_ftp_client_handle_t * handle, void * user_pointer)

Set/Get the user pointer field from an ftp client handle. πŸŽ€

The user pointer is provided to all the user of the FTP client library to associate a pointer to any application-specific data to an FTP client handle. This pointer is never internally used by the client library. It's yours, bestie, we're just holding it for you πŸ’œ

Parameters

  • handle β€” The FTP client handle to set or query.
  • user_pointer β€” The value of the user pointer field.
Note: Access to the user_pointer are not synchronized, the user must take care to make sure that multiple threads are not modifying it's value. Fr fr, if you're multithreading, that's on you β€” synchronize it yourself or suffer 😭

πŸ‘‘ Author

Generated automatically by Doxygen for globus_ftp_client from the source code. Not me writing it by hand, the robots did that part πŸ€–


And that's the whole page, bestie!! πŸ’–βœ¨ This was globus_ftp_client_handle(3) from the globus_ftp_client manual, Version 9.9 β€” mwah, go cache some connections responsibly πŸŽ€πŸ¦‹πŸ’