globus_net...er_context(3)
π globus_net_manager_context β Library Functions Manual π
okay bestie, so this is globus_net...er_context(3) and it's giving very important library-functions-manual energy. grab a lil snack, we're getting into it π
β¨ NAME β¨
globus_net_manager_context β Context
- Net Manager Context Management Functions.
lowkey that's the whole vibe: it's the thing that manages your net manager context. periodt. π
πΈ SYNOPSIS πΈ
Typedefs
typedef struct globus_i_net_manager_context_s * globus_net_manager_context_tβ Net Manager Context.
Functions
void globus_net_manager_context_destroy (globus_net_manager_context_t context)β Destroy Context.globus_result_t globus_net_manager_context_end_listen (globus_net_manager_context_t context, const char *task_id, const char *transport, const char *local_contact, const globus_net_manager_attr_t *attr_array)β Call Context End Listen.globus_result_t globus_net_manager_context_init (globus_net_manager_context_t *context, const globus_net_manager_attr_t *attrs)β Initialize Context.globus_result_t globus_net_manager_context_post_accept (globus_net_manager_context_t context, const char *task_id, const char *transport, const char *local_contact, const char *remote_contact, const globus_net_manager_attr_t *attr_array, globus_net_manager_attr_t **attr_array_out)β Call Context Post Accept.globus_result_t globus_net_manager_context_post_close (globus_net_manager_context_t context, const char *task_id, const char *transport, const char *local_contact, const char *remote_contact, const globus_net_manager_attr_t *attr_array)β Call Context Post Close.globus_result_t globus_net_manager_context_post_connect (globus_net_manager_context_t context, const char *task_id, const char *transport, const char *local_contact, const char *remote_contact, const globus_net_manager_attr_t *attr_array, globus_net_manager_attr_t **attr_array_out)β Call Context Post Connect.globus_result_t globus_net_manager_context_post_listen (globus_net_manager_context_t context, const char *task_id, const char *transport, const char *local_contact, const globus_net_manager_attr_t *attr_array, char **local_contact_out, globus_net_manager_attr_t **attr_array_out)β Call Context Post Listen.globus_result_t globus_net_manager_context_pre_accept (globus_net_manager_context_t context, const char *task_id, const char *transport, const char *local_contact, const globus_net_manager_attr_t *attr_array, globus_net_manager_attr_t **attr_array_out)β Call Context Pre Accept.globus_result_t globus_net_manager_context_pre_close (globus_net_manager_context_t context, const char *task_id, const char *transport, const char *local_contact, const char *remote_contact, const globus_net_manager_attr_t *attr_array)β Call Context Pre Close.globus_result_t globus_net_manager_context_pre_connect (globus_net_manager_context_t context, const char *task_id, const char *transport, const char *remote_contact, const globus_net_manager_attr_t *attr_array, char **remote_contact_out, globus_net_manager_attr_t **attr_array_out)β Call Context Pre Connect.globus_result_t globus_net_manager_context_pre_listen (globus_net_manager_context_t context, const char *task_id, const char *transport, const globus_net_manager_attr_t *attr_array, globus_net_manager_attr_t **attr_array_out)β Call Context Pre Listen.
π¦ Detailed Description π¦
Net Manager Context Management Functions.
okay so picture this: the Net Manager Context is literally the girlboss manager of a whole collection of network manager plug-ins, and those plug-ins get called whenever network events happen. it's giving backstage crew for a concert, fr fr. π
you initialize the context by calling globus_net_manager_context_init(). this one processes an array of attributes. the "scope" member of of attributes indicates the name of a network manager to associate with the context. (yes bestie, "of of" is in the original, i'm not fixing the source's typos, that's not my job π). the (name, value) tuples of the attributes get added to the attributes passed to all of that particular network manager's implementation functions.
once the network manager context is created, you pass it to the per-operation invocation functions to trigger all of the manager callouts associated with the context. no cap.
and when the network manager context is no longer needed? you destroy it by calling globus_net_manager_context_destroy(). bye bestie π«Ά
π Typedef Documentation π
typedef struct globus_i_net_manager_context_s* globus_net_manager_context_t
Net Manager Context. A structure of this type is used to thread attributes through the set of configured net manager modules and invoke their functions in configuration order.
so like, this lil struct is the messenger π§ that carries your attributes through all the configured net manager modules, and it invokes their functions in configuration order. the order matters, iykyk.
π₯ Function Documentation π₯
void globus_net_manager_context_destroy (globus_net_manager_context_t context)
Destroy Context. This functions destroys context.
Parameters
- context β Pointer to the context to destroy.
it literally does what it says on the tin, bestie. context goes in, context is no more. πβ¨
globus_result_t globus_net_manager_context_end_listen (globus_net_manager_context_t context, const char * task_id, const char * transport, const char * local_contact, const globus_net_manager_attr_t * attr_array)
Call Context End Listen. Call the chain of end_listen() functions in a context with the given task_id, transport, and attributes. If any manager in the context returns an error, the subsequent managers will not be called.
Parameters
- context β The context to call functions in.
- task_id β The task_id associated with this network operation.
- transport β The transport driver associated with this network operation.
- local_contact β The string representation of the local address of the socket.
- attr_array β The set of attributes to pass to the managers.
Returns
On success, this function returns GLOBUS_SUCCESS. If any manager returns an error, the end_listen calls stop and the error is returned to the caller.
lowkey important: the second one manager trips, the whole chain stops. no passing go, no collecting two hundred dollars. π
globus_result_t globus_net_manager_context_init (globus_net_manager_context_t * context, const globus_net_manager_attr_t * attrs)
Initialize Context. This functions initializes context with the attribute list attrs.
Parameters
- context β A pointer to the context to initialize.
- attrs β An array of attributes to initialize the context with.
Returns
On error, the 'context' is set to NULL and this function returns an error object. Otherwise this function returns 'GLOBUS_SUCCESS'
so if it flops, your context pointer becomes NULL and you get an error object back. if it slays, you get 'GLOBUS_SUCCESS'. π
globus_result_t globus_net_manager_context_post_accept (globus_net_manager_context_t context, const char * task_id, const char * transport, const char * local_contact, const char * remote_contact, const globus_net_manager_attr_t * attr_array, globus_net_manager_attr_t ** attr_array_out)
Call Context Post Accept. Call the chain of post_accept() functions in a context with the given task_id, transport, contact information, and attributes. If any manager in the context returns an error, the subsequent managers will not be called. The attributes are chained through all the calls, with any changed values returned from a manager passed to subsequent managers in the chain.
Parameters
- context β The context to call functions in.
- task_id β The task_id associated with this network operation.
- transport β The transport driver associated with this network operation.
- local_contact β The string representation of the local address of the socket.
- remote_contact β The string representation of the remote address of the socket.
- attr_array β The set of attributes to pass to the managers.
- attr_array_out β The resulting set of attributes from the managers. This will be set to
NULLif no manager modifies the attributes.
Returns
On success, this function returns GLOBUS_SUCCESS. If any manager returns an error, the post_accept calls stop and the error is returned to the caller.
the way that the attributes get passed down the chain like a lil game of telephone, and any changed values get handed to the next manager β that's the tea. β and if nobody changed anything, attr_array_out just becomes NULL. simple as.
globus_result_t globus_net_manager_context_post_close (globus_net_manager_context_t context, const char * task_id, const char * transport, const char * local_contact, const char * remote_contact, const globus_net_manager_attr_t * attr_array)
Call Context Post Close. Call the chain of post_close() functions in a context with the given task_id, transport, contact information, and attributes. If any manager in the context returns an error, the subsequent managers will not be called.
Parameters
- context β The context to call functions in.
- task_id β The task_id associated with this network operation.
- transport β The transport driver associated with this network operation.
- local_contact β The string representation of the local address of the socket.
- remote_contact β The string representation of the remote address of the socket
- attr_array β The set of attributes to pass to the managers.
Returns
On success, this function returns GLOBUS_SUCCESS. If any manager returns an error, the post_close calls stop and the error is returned to the caller.
ngl notice there's no *_out on this one β it's a close, bestie, we're just wrapping up, no attribute glow-up required. π
globus_result_t globus_net_manager_context_post_connect (globus_net_manager_context_t context, const char * task_id, const char * transport, const char * local_contact, const char * remote_contact, const globus_net_manager_attr_t * attr_array, globus_net_manager_attr_t ** attr_array_out)
Call Context Post Connect. Call the chain of post_connect() functions in a context with the given task_id, transport, contact information, and attributes. If any manager in the context returns an error, the subsequent managers will not be called.
Parameters
- context β The context to call functions in.
- task_id β The task_id associated with this network operation.
- transport β The transport driver associated with this network operation.
- local_contact β The string representation of the local address of the socket.
- remote_contact β The string representation of the remote address of the socket.
- attr_array β The set of attributes to pass to the managers.
- attr_array_out β The resulting set of attributes from the managers. This will be set to
NULLif no manager modifies the attributes.
Returns
On success, this function returns GLOBUS_SUCCESS. If any manager returns an error, the post_connect calls stop and the error is returned to the caller.
periodt. same chain rules, same GLOBUS_SUCCESS happy ending, same NULL attr_array_out if nobody touched the attributes. π
globus_result_t globus_net_manager_context_post_listen (globus_net_manager_context_t context, const char * task_id, const char * transport, const char * local_contact, const globus_net_manager_attr_t * attr_array, char ** local_contact_out, globus_net_manager_attr_t ** attr_array_out)
Call Context Post Listen. Call the chain of post_listen() functions in a context with the given task_id, transport, contact information, and attributes. If any manager in the context returns an error, the subsequent managers will not be called.
Parameters
contextβ the context to call functions in πtask_idβ thetask_idthat's attached to this network operationtransportβ the transport driver that's attached to this network operationlocal_contactβ the string representation of the socket's local address πattr_arrayβ the set of attributes you're handing off to the managerslocal_contact_outβ the resulting local contact that comes back from the managers. This gets set toNULLif no manager modifies the local contact β like, nobody touched it, so nothing to report π«₯attr_array_outβ the resulting set of attributes from the managers. AlsoNULLif no manager modifies the attributes, same deal
Returns
On success you get GLOBUS_SUCCESS back π. But if any manager returns an error, the post_listen() calls stop right there and that error comes straight back to the caller. No vibes, just the error, fr fr. π
β¨ globus_net_manager_context_pre_accept β¨
globus_result_t globus_net_manager_context_pre_accept
(globus_net_manager_context_t context, const char * task_id, const char
* transport, const char * local_contact, const globus_net_manager_attr_t
* attr_array, globus_net_manager_attr_t ** attr_array_out)
Okay so this one is Call Context Pre Accept π
β it walks the chain of pre_accept() functions in a context, passing along the given task_id, transport, contact info and attributes. And listen: if any manager in the context returns an error, the managers after it do not get called. It's a chain, bestie, and it snaps. π
Parameters
contextβ the context to call functions in πtask_idβ thetask_idfor this network operationtransportβ the transport driver for this network operationlocal_contactβ the string representation of the socket's local addressattr_arrayβ the set of attributes passed to the managersattr_array_outβ the resulting attributes from the managers.NULLif no manager modifies them
Returns
GLOBUS_SUCCESS on success, bestie β¨. If any manager errors out, the pre_accept() calls stop and you get the error handed right back to you.
πΈ globus_net_manager_context_pre_close πΈ
globus_result_t globus_net_manager_context_pre_close
(globus_net_manager_context_t context, const char * task_id, const char
* transport, const char * local_contact, const char * remote_contact,
const globus_net_manager_attr_t * attr_array)
Call Context Pre Close π β runs the chain of pre_close() functions in a context with the task_id, transport, contact info and attributes you give it. And yep, same rule: if any manager returns an error, the ones after it don't get called. Periodt. π
Parameters
contextβ the context to call functions in πtask_idβ thetask_idfor this network operationtransportβ the transport driver for this network operationlocal_contactβ the string representation of the socket's local addressremote_contactβ the string representation of the socket's remote address π°οΈattr_arrayβ the set of attributes passed to the managers
Returns
GLOBUS_SUCCESS when it works π«Ά. If any manager returns an error, the pre_close() calls stop and that error bounces back to the caller.
π¦ globus_net_manager_context_pre_connect π¦
globus_result_t globus_net_manager_context_pre_connect
(globus_net_manager_context_t context, const char * task_id, const char
* transport, const char * remote_contact, const
globus_net_manager_attr_t * attr_array, char ** remote_contact_out,
globus_net_manager_attr_t ** attr_array_out)
Call Context Pre Connect π β fires off the chain of pre_connect() functions in a context with the task_id, transport, contact info and attributes. And again, one manager errors and the rest just don't get called. It's giving "we're done here". π€
Parameters
contextβ the context to call functions in πtask_idβ thetask_idfor this network operationtransportβ the transport driver for this network operationremote_contactβ the string representation of the socket's remote address π°οΈattr_arrayβ the set of attributes passed to the managersremote_contact_outβ the resulting string representation of the remote address. Set toNULLif no manager modifies the address β untouched, unbothered β¨attr_array_outβ the resulting attributes from the managers.NULLif no manager modifies them
Returns
GLOBUS_SUCCESS on success, mwah π. If any manager returns an error, the pre_connect() calls stop and the error comes back to the caller.
π globus_net_manager_context_pre_listen π
globus_result_t globus_net_manager_context_pre_listen
(globus_net_manager_context_t context, const char * task_id, const char
* transport, const globus_net_manager_attr_t * attr_array,
globus_net_manager_attr_t ** attr_array_out)
Call Context Pre Listen π β runs the chain of pre_listen() functions in a context with the given task_id, transport, contact info and attributes. And yes bestie, the rule holds: any manager returns an error and the subsequent managers do not get called. Iconic behaviour honestly. π
Parameters
contextβ the context to call functions in πtask_idβ thetask_idfor this network operationtransportβ the transport driver for this network operationattr_arrayβ the set of attributes passed to the managersattr_array_outβ the resulting attributes from the managers.NULLif no manager modifies them
Returns
GLOBUS_SUCCESS when everything goes off without a hitch π. If any manager returns an error, the pre_listen() calls stop and that error gets returned to the caller.
π AUTHOR π
Generated automatically by Doxygen for globus_net_manager from the source code. So basically a robot wrote this entire thing and honestly? it ate. π€β¨
and that's the whole page, bestie!! π«Ά the footer tells us the source is globus_net_manager and the version is 1.7 β it doesn't stamp a date on there so that part stays a lil mysterious πΈ β and it lives in section 3 of the manual, so like, globus_net...er_context(3), iykyk π
go forth and manage your network contexts, you got this ππ¦
π¦ where this page comes from
- fedora 43: globus-net-manager-doc 1.7-13.fc43 Β· Apache-2.0
- fedora 44: globus-net-manager-doc 1.7-14.fc44 Β· Apache-2.0
- ubuntu resolute: libglobus-net-manager-doc 1.7-3build4 Β· Apache-2.0
- ubuntu stonking: libglobus-net-manager-doc 1.7-3build4 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms