Grid Community Toolkit  6.2.1653033972 (tag: v6.2.20220524)
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Typedefs | Functions

Net Manager Context Management Functions. More...

Typedefs

typedef struct
globus_i_net_manager_context_s * 
globus_net_manager_context_t
 Net Manager Context. More...
 

Functions

void globus_net_manager_context_destroy (globus_net_manager_context_t context)
 Destroy Context. 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. More...
 
globus_result_t globus_net_manager_context_init (globus_net_manager_context_t *context, const globus_net_manager_attr_t *attrs)
 Initialize Context. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 

Detailed Description

Net Manager Context Management Functions.

The Net Manager Context manages a collection of network manager plug-ins which will be called when network events occur.

Initialize the context by calling globus_net_manager_context_init(). This processes an array of attributes. The "scope" member of of attributes indicate the name of a network manager to associate with the context. The (name, value) tuples of the attributes are added to the attributes passed to all of that particular network manager's implementation functions.

Once the network manager context is created, pass it to the per-operation invocation functions to trigger all of the manager callouts associated with the context.

When the network manager context is no longer needed, destroy it by calling globus_net_manager_context_destroy().

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.

Function Documentation

void globus_net_manager_context_destroy ( globus_net_manager_context_t  context)

Destroy Context.

This functions destroys context.

Parameters
[in]contextPointer to the context to destroy.
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
[in]contextThe context to call functions in.
[in]task_idThe task_id associated with this network operation.
[in]transportThe transport driver associated with this network operation.
[in]local_contactThe string representation of the local address of the socket.
[in]attr_arrayThe 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.
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
[out]contextA pointer to the context to initialize.
[in]attrsAn 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'
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
[in]contextThe context to call functions in.
[in]task_idThe task_id associated with this network operation.
[in]transportThe transport driver associated with this network operation.
[in]local_contactThe string representation of the local address of the socket.
[in]remote_contactThe string representation of the remote address of the socket.
[in]attr_arrayThe set of attributes to pass to the managers.
[out]attr_array_outThe resulting set of attributes from the managers. This will be set to NULL if 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.
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
[in]contextThe context to call functions in.
[in]task_idThe task_id associated with this network operation.
[in]transportThe transport driver associated with this network operation.
[in]local_contactThe string representation of the local address of the socket.
[in]remote_contactThe string representation of the remote address of the socket
[in]attr_arrayThe 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.
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
[in]contextThe context to call functions in.
[in]task_idThe task_id associated with this network operation.
[in]transportThe transport driver associated with this network operation.
[in]local_contactThe string representation of the local address of the socket.
[in]remote_contactThe string representation of the remote address of the socket.
[in]attr_arrayThe set of attributes to pass to the managers.
[out]attr_array_outThe resulting set of attributes from the managers. This will be set to NULL if 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.
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
[in]contextThe context to call functions in.
[in]task_idThe task_id associated with this network operation.
[in]transportThe transport driver associated with this network operation.
[in]local_contactThe string representation of the local address of the socket.
[in]attr_arrayThe set of attributes to pass to the managers.
[out]local_contact_outThe resulting local contact from the managers. This will be set to NULL if no manager modifies the local contact.
[out]attr_array_outThe resulting set of attributes from the managers. This will be set to NULL if no manager modifies the attributes.
Returns
On success, this function returns GLOBUS_SUCCESS. If any manager returns an error, the post_listen() calls stop and the error is returned to the caller.
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.

Call the chain of pre_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.

Parameters
[in]contextThe context to call functions in.
[in]task_idThe task_id associated with this network operation.
[in]transportThe transport driver associated with this network operation.
[in]local_contactThe string representation of the local address of socket.
[in]attr_arrayThe set of attributes to pass to the managers.
[out]attr_array_outThe resulting set of attributes from the managers. This will be set to NULL if no manager modifies the attributes.
Returns
On success, this function returns GLOBUS_SUCCESS. If any manager returns an error, the pre_accept() calls stop and the error is returned to the caller.
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.

Call the chain of pre_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
[in]contextThe context to call functions in.
[in]task_idThe task_id associated with this network operation.
[in]transportThe transport driver associated with this network operation.
[in]local_contactThe string representation of the local address of socket.
[in]remote_contactThe string representation of the remote address of socket.
[in]attr_arrayThe set of attributes to pass to the managers.
Returns
On success, this function returns GLOBUS_SUCCESS. If any manager returns an error, the pre_close() calls stop and the error is returned to the caller.
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.

Call the chain of pre_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
[in]contextThe context to call functions in.
[in]task_idThe task_id associated with this network operation.
[in]transportThe transport driver associated with this network operation.
[in]remote_contactThe string representation of the remote address of socket.
[in]attr_arrayThe set of attributes to pass to the managers.
[out]remote_contact_outThe resulting string representation of the remote address. This will be set to NULL if no manager modifies the address.
[out]attr_array_outThe resulting set of attributes from the managers. This will be set to NULL if no manager modifies the attributes.
Returns
On success, this function returns GLOBUS_SUCCESS. If any manager returns an error, the pre_connect() calls stop and the error is returned to the caller.
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.

Call the chain of pre_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
[in]contextThe context to call functions in.
[in]task_idThe task_id associated with this network operation.
[in]transportThe transport driver associated with this network operation.
[in]attr_arrayThe set of attributes to pass to the managers.
[out]attr_array_outThe resulting set of attributes from the managers. This will be set to NULL if no manager modifies the attributes.
Returns
On success, this function returns GLOBUS_SUCCESS. If any manager returns an error, the pre_listen() calls stop and the error is returned to the caller.