GLOBUS_NET_MANAGER_POST_CONNECT(3)
globus_net_manager_signatures β Function Signatures π
okay bestie, this page lives in the Library Functions Manual and its official home is globus_net..._signatures(3). yes the name got the β¨abbreviatedβ¨ treatment up top, but we know her full name. it's the Net Manager function-signature page and we're gonna get through it together, no skips, no cap. π«Ά
πΈ NAME πΈ
globus_net_manager_signatures β Function Signatures
Net Manager Function Signatures. (that's the whole vibe, bestie, we're here for the signatures π)
β¨ SYNOPSIS β¨
Typedefs
here's the roster, all nine of them, and the way that each one is literally a callback shape you can drop into a network manager implementation. slay. π₯
globus_net_manager_pre_listenβ Net Manager Pre-Listen Function Signature.
typedef globus_result_t(* globus_net_manager_pre_listen) (struct
globus_net_manager_s *manager, const globus_net_manager_attr_t
*manager_attr_array, const char *task_id, const char *transport,
const globus_net_manager_attr_t *attr_array,
globus_net_manager_attr_t **attr_array_out)
globus_net_manager_post_listenβ Net Manager Post-Listen Function Signature.
typedef globus_result_t(* globus_net_manager_post_listen) (struct
globus_net_manager_s *manager, const globus_net_manager_attr_t
*manager_attr_array, 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)
globus_net_manager_end_listenβ Net Manager End-Listen Function Signature.
typedef globus_result_t(* globus_net_manager_end_listen) (struct
globus_net_manager_s *manager, const globus_net_manager_attr_t
*manager_attr_array, const char *task_id, const char *transport,
const char *local_contact, const globus_net_manager_attr_t
*attr_array)
globus_net_manager_pre_acceptβ Net Manager Pre-Accept Function Signature.
typedef globus_result_t(* globus_net_manager_pre_accept) (struct
globus_net_manager_s *manager, const globus_net_manager_attr_t
*manager_attr_array, 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)
globus_net_manager_post_acceptβ Net Manager Post-Accept Function Signature.
typedef globus_result_t(* globus_net_manager_post_accept) (struct
globus_net_manager_s *manager, const globus_net_manager_attr_t
*manager_attr_array, 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)
globus_net_manager_pre_connectβ Net Manager Pre-Connect Function Signature.
typedef globus_result_t(* globus_net_manager_pre_connect) (struct
globus_net_manager_s *manager, const globus_net_manager_attr_t
*manager_attr_array, 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)
globus_net_manager_post_connectβ Net Manager Post-Connect Function Signature.
typedef globus_result_t(* globus_net_manager_post_connect) (struct
globus_net_manager_s *manager, const globus_net_manager_attr_t
*manager_attr_array, 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)
globus_net_manager_pre_closeβ Net Manager Pre-Close Function Signature.
typedef globus_result_t(* globus_net_manager_pre_close) (struct
globus_net_manager_s *manager, const globus_net_manager_attr_t
*manager_attr_array, 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_post_closeβ Net Manager Post-Close Function Signature.
typedef globus_result_t(* globus_net_manager_post_close) (struct
globus_net_manager_s *manager, const globus_net_manager_attr_t
*manager_attr_array, const char *task_id, const char *transport,
const char *local_contact, const char *remote_contact, const
globus_net_manager_attr_t *attr_array)
π¦ Detailed Description π¦
Net Manager Function Signatures.
Function signatures for the Net Manager interface.
ooh and there's a whole globus_net_manager_tutorial too, if you wanna go deeper, bestie. π
π Typedef Documentation π
typedef globus_net_manager_end_listen
typedef globus_result_t(* globus_net_manager_end_listen) (struct
globus_net_manager_s *manager, const globus_net_manager_attr_t
*manager_attr_array, const char *task_id, const char *transport,
const char *local_contact, const globus_net_manager_attr_t
*attr_array)
Net Manager End-Listen Function Signature. so like, if a network manager implementation includes a function with this signature, it gets called when the transport-specific listening port is about to be closed. πͺ
the network manager gets handed the network transport-specific options and the contact string for the listener.
β οΈ important bestie: theglobus_net_managerlibrary aborts the closing of the listening port if this function returns a value other thanGLOBUS_SUCCESS. and in that case,globus_net_managerwill not call any otherglobus_net_manager_end_listenfunctions configured for this listener. periodt. π
Parameters
managerβ Pointer to the network manager struct that is being invoked.manager_attr_arrayβ An array of attributes associated with the manager. The end of the array is indicated by an attribute containing aNULLscope.task_idβ An application-specific task ID associated with this network operation.transportβ The name of the transport associated with this listener.local_contactβ The transport-specific contact string for the listener[in].attr_arrayβ An array of transport attributes associated with the listener. The end of the array is indicated by an attribute containing aNULLscope.
typedef globus_net_manager_post_accept
typedef globus_result_t(* globus_net_manager_post_accept) (struct
globus_net_manager_s *manager, const globus_net_manager_attr_t
*manager_attr_array, 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)
Net Manager Post-Accept Function Signature. if a network manager implementation includes a function with this signature, it gets called after accepting a connection on a transport-specific listening port. π€
the network manager gets handed the network transport-specific options and contact string for both ends of the connection. and it may modify the attributes of the local side of the connection. π
β οΈ bestie listen: theglobus_net_managerlibrary aborts the accept operation if this function returns a value other thanGLOBUS_SUCCESS. and thenglobus_net_managerwill not call any otherglobus_net_manager_post_acceptfunctions configured for this connection. no take-backs. π
Parameters
managerβ Pointer to the network manager struct that is being invoked.manager_attr_arrayβ An array of attributes associated with the manager. The end of the array is indicated by an attribute containing aNULLscope.task_idβ An application-specific task ID associated with this network operation.transportβ The name of the transport associated with this listener.local_contactβ The transport-specific contact string for the local side of the connection.remote_contactβ The transport-specific contact string for the remote side of the connection.attr_arrayβ An array of transport attributes associated with the listener. The end of the array is indicated by an attribute containing aNULLscope.attr_array_outβ A pointer to an array of transport options to apply to the listener prior to returning it to the service. This may beNULLto indicate no change in the options. If non-NULL, this array must be terminated with an attribute having aNULLscope. The array and the members of theglobus_net_manager_attr_tstruct will be freed by theglobus_net_managerlibrary by callingfree().
typedef globus_net_manager_post_close
typedef globus_result_t(* globus_net_manager_post_close) (struct
globus_net_manager_s *manager, const globus_net_manager_attr_t
*manager_attr_array, const char *task_id, const char *transport,
const char *local_contact, const char *remote_contact, const
globus_net_manager_attr_t *attr_array)
Net Manager Post-Close Function Signature. if a network manager implementation includes a function with this signature, it gets called after closing a connection. bye bye connection π«Ά
the network manager gets handed the network transport-specific options and contact string for both ends of the connection.
β οΈ heads up: theglobus_net_managerlibrary aborts the close operation if this function returns a value other thanGLOBUS_SUCCESS. and in that case,globus_net_managerwill not call any otherglobus_net_manager_pre_closefunctions configured for this connection. (yes,pre_closeβ that's literally what the page says, not a typo on my end π)
Parameters
managerβ Pointer to the network manager struct that is being invoked.manager_attr_arrayβ An array of attributes associated with the manager. The end of the array is indicated by an attribute containing aNULLscope.task_idβ An application-specific task ID associated with this network operation.transportβ The name of the transport associated with this listener.local_contactβ The transport-specific contact string for the local side of the connection.remote_contactβ The transport-specific contact string for the remote side of the connection.attr_arrayβ An array of transport attributes associated with the listener. The end of the array is indicated by an attribute containing aNULLscope.
typedef globus_net_manager_post_connect
typedef globus_result_t(* globus_net_manager_post_connect) (struct
globus_net_manager_s *manager, const globus_net_manager_attr_t
*manager_attr_array, 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)
Net Manager Post-Connect Function Signature. if a network manager implementation includes a function with this signature, it gets called after establishing a connection to a transport-specific listener. π
the network manager gets handed the network transport-specific options and contact string for both ends of the connection. and it may modify the attributes of the local side of the connection. main character behavior honestly. π
β οΈ bestie, don't skip this: theglobus_net_managerlibrary aborts the connect operation if this function returns a value other thanGLOBUS_SUCCESS. and in that case,globus_net_managerwill not call any otherglobus_net_manager_post_connectfunctions configured for this connection. π
Parameters
managerβ Pointer to the network manager struct that is being invoked.manager_attr_arrayβ An array of attributes associated with the manager. The end of the array is indicated by an attribute containing aNULLscope.task_idβ An application-specific task ID associated with this network operation.transportβ The name of the transport associated with this listener.local_contactβ The transport-specific contact string for the local side of the connection.remote_contactβ The transport-specific contact string for the remote side of the connection.attr_arrayβ An array of transport attributes associated with the listener. The end of the array is indicated by an attribute containing aNULLscope.attr_array_outβ A pointer to an array of transport options to apply to the listener prior to returning it to the service. This may beNULLto indicate no change in the options. If non-NULL, this array must be terminated with an attribute having aNULLscope. The array and the members of theglobus_net_manager_attr_tstruct will be freed by theglobus_net_managerlibrary by callingfree().
okay bestie we're not done yet β there's more of this page coming, so don't wander off. part 2 is literally right there and we're gonna finish the whole signature set together. πβ¨
okay bestie, before we get to the next signature, here's the param rundown for the one we were just vibing with π
managerβ pointer to the network manager struct that is being invoked, aka the main character of this whole operation.manager_attr_arrayβ an array of attributes associated with the manager. the end of the array is flagged by an attribute containing a NULL scope, so watch for that little terminator πtask_idβ an application-specific task ID associated with this network operation.transportβ the name of the transport associated with this listener.remote_contactβ the transport-specific contact string for the remote side of the connection.attr_arrayβ an array of transport attributes associated with the listener. again, the end of the array is indicated by an attribute containing a NULL scope.attr_array_outβ a pointer to an array of transport options to apply to the listener prior to returning it to the service. this may beNULLto indicate no change in the options. if it is non-NULL, this array must be terminated with an attribute having a NULL scope. the array and the members of theglobus_net_manager_attr_tstruct will be freed by theglobus_net_managerlibrary by callingfree().
πΈ globus_net_manager_post_listen πΈ
typedef globus_result_t(* globus_net_manager_post_listen) (struct globus_net_manager_s *manager, const globus_net_manager_attr_t *manager_attr_array, 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)
Net Manager Post-Listen Function Signature. a function of this signature, if it's included in a network manager implementation, gets called after the transport-specific listening port has been created. β¨
the network manager is passed the network transport-specific options and contact string for the listener. it may modify either of these before the transport listener is made available to the service which requested the listening port. π
π heads up: theglobus_net_managerlibrary aborts the listen operation if this function returns a value other thanGLOBUS_SUCCESS. in that case, theglobus_net_managerwill not call any otherglobus_net_manager_post_listenfunctions configured for this listener. no second chances, periodt.
Parameters
managerβ pointer to the network manager struct that is being invoked.manager_attr_arrayβ an array of attributes associated with the manager. the end of the array is indicated by an attribute containing a NULL scope.task_idβ an application-specific task ID associated with this network operation.transportβ the name of the transport associated with this listener.local_contactβ the transport-specific contact string for the listener [in].attr_arrayβ an array of transport attributes associated with the listener. the end of the array is indicated by an attribute containing a NULL scope.local_contact_outβ a pointer to the local contact which the network manager wants to return to the service. this may beNULLto indicate no change in the contact. this value will befreed()by theglobus_net_managerlibrary.attr_array_outβ a pointer to an array of transport options to apply to the listener prior to returning it to the service. this may beNULLto indicate no change in the options. if non-NULL, this array must be terminated with an attribute having a NULL scope. the array and the members of theglobus_net_manager_attr_tstruct will be freed by theglobus_net_managerlibrary by callingfree().
π¦ globus_net_manager_pre_accept π¦
typedef globus_result_t(* globus_net_manager_pre_accept) (struct globus_net_manager_s *manager, const globus_net_manager_attr_t *manager_attr_array, 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)
Net Manager Pre-Accept Function Signature. a function of this signature, if it's included in a network manager implementation, gets called before accepting a connection on a transport-specific listening port. π
the network manager is passed the network transport-specific options and contact string for the listener. it may modify the options before the accept operation is complete. slay.
π theglobus_net_managerlibrary aborts the accept operation if this function returns a value other thanGLOBUS_SUCCESS. in this case, theglobus_net_managerwill not call any otherglobus_net_manager_pre_acceptfunctions configured for this listener.
Parameters
managerβ pointer to the network manager struct that is being invoked.manager_attr_arrayβ an array of attributes associated with the manager. the end of the array is indicated by an attribute containing a NULL scope.task_idβ an application-specific task ID associated with this network operation.transportβ the name of the transport associated with this listener.local_contactβ the transport-specific contact string for the listener.attr_arrayβ a NULL-terminated array of transport attributes associated with the listener. (yes, different wording from the others, we don't make the rules π« )attr_array_outβ a pointer to an array of transport options to apply to the listener prior to returning it to the service. this may beNULLto indicate no change in the options. if non-NULL, this array must be terminated with an attribute having a NULL scope. the array and the members of theglobus_net_manager_attr_tstruct will be freed by theglobus_net_managerlibrary by callingfree().
π globus_net_manager_pre_close π
typedef globus_result_t(* globus_net_manager_pre_close) (struct globus_net_manager_s *manager, const globus_net_manager_attr_t *manager_attr_array, const char *task_id, const char *transport, const char *local_contact, const char *remote_contact, const globus_net_manager_attr_t *attr_array)
Net Manager Pre-Close Function Signature. a function of this signature, if it's included in a network manager implementation, gets called prior to closing a connection. bye bye bestie π
the network manager is passed the network transport-specific options and contact string for both ends of the connection. π«
π theglobus_net_managerlibrary aborts the close operation if this function returns a value other thanGLOBUS_SUCCESS. in this case, theglobus_net_managerwill not call any otherglobus_net_manager_pre_closefunctions configured for this connection.
Parameters
managerβ pointer to the network manager struct that is being invoked.manager_attr_arrayβ an array of attributes associated with the manager. the end of the array is indicated by an attribute containing a NULL scope.task_idβ an application-specific task ID associated with this network operation.transportβ the name of the transport associated with this listener.local_contactβ the transport-specific contact string for the local side of the connection.remote_contactβ the transport-specific contact string for the remote side of the connection.attr_arrayβ an array of transport attributes associated with the listener. the end of the array is indicated by an attribute containing a NULL scope.
π globus_net_manager_pre_connect π
typedef globus_result_t(* globus_net_manager_pre_connect) (struct globus_net_manager_s *manager, const globus_net_manager_attr_t *manager_attr_array, 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)
Net Manager Pre-Connect Function Signature. a function of this signature, if it's included in a network manager implementation, gets called after initiating a connection to a transport-specific listener. π
the network manager is passed the network transport-specific options and contact string for both ends of the connection. it may modify the attributes of the local side of the connection. iykyk.
π theglobus_net_managerlibrary aborts the connect operation if this function returns a value other thanGLOBUS_SUCCESS. in this case, theglobus_net_managerwill not call any otherglobus_net_manager_pre_connectfunctions configured for this connection.
Parameters
managerβ pointer to the network manager struct that is being invoked.manager_attr_arrayβ an array of attributes associated with the manager. the end of the array is indicated by an attribute containing a NULL scope.task_idβ an application-specific task ID associated with this network operation.transportβ the name of the transport associated with this listener.remote_contactβ the transport-specific contact string for the remote side of the connection.attr_arrayβ an array of transport attributes associated with the listener. the end of the array is indicated by an attribute containing a NULL scope.remote_contact_outβ a pointer to the remote contact which the network manager wants to connect to. this may beNULLto indicate no change in the contact. this value will befreed()by theglobus_net_managerlibrary.attr_array_outβ a pointer to an array of transport options to apply to the listener prior to returning it to the service. this may beNULLto indicate no change in the options. if non-NULL, this array must be terminated with an attribute having a NULL scope. the array and the members of theglobus_net_manager_attr_tstruct will be freed by theglobus_net_managerlibrary by callingfree().
π globus_net_manager_pre_listen π
typedef globus_result_t(* globus_net_manager_pre_listen) (struct globus_net_manager_s *manager, const globus_net_manager_attr_t *manager_attr_array, const char *task_id, const char *transport, const globus_net_manager_attr_t *attr_array, globus_net_manager_attr_t **attr_array_out)
Net Manager Pre-Listen Function Signature. a function of this signature, if it's included in a network manager implementation, gets called before the transport-specific listening port has been created. getting in early, love that for us. β¨
the network manager is passed the network transport-specific options for the listener. it may modify these before the listener is created by the transport. π
π theglobus_net_managerlibrary aborts the listen operation if this function returns a value other thanGLOBUS_SUCCESS. in this case, theglobus_net_managerwill not call any otherglobus_net_manager_pre_listenfunctions configured for this listener.
Parameters π
okay bestie, here's the whole cast of characters this function gets handed. memorize them, they're the vibe:
managerβ a pointer to the network manager struct that's being invoked. like, the manager in question. this one. right here. πmanager_attr_arrayβ an array of attributes that come attached to the manager. and listen, the way you know you've hit the end of this array? there's an attribute chillin' at the end with a NULL scope. that's your lil "we're done here" signal. no cap. πtask_idβ an application-specific task ID tied to this whole network operation. your app's own lil name tag for the job. π·οΈtransportβ the name of the transport associated with this listener. just the name, bestie, as a string. π¦attr_arrayβ an array of transport attributes hanging out with the listener. same deal as before: the array ends when you hit an attribute with a NULL scope. iconic little sentinel behavior, we love consistency. β¨attr_array_outβ a pointer to an array of transport options that get applied to the listener before it's handed back to the service. and now the important bits, so pay attention:- it may be
NULLβ and that means "no change in the options," periodt. - if it's non-
NULL, that array must be terminated with an attribute having a NULL scope. non-negotiable. π - the array itself and the members of the
globus_net_manager_attr_tstruct are going to be freed by theglobus_net_managerlibrary, and it does that by callingfree(). so like... don't you dare free them yourself, that's the library's moment. π
- it may be
Author π«Ά
Generated automatically by Doxygen for globus_net_manager from the source code. so technically the author is a robot, and honestly? it ate. π€β¨
and that's the whole page, bestie!! this gorgeous thing ships as part of globus_net_manager, Version 1.7, and it's Doxygen's own little auto-generated baby straight from the source code, stamped with the date up top in the page footer. mwah. π π π¦ πΈ π
π¦ 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