OpenMPI  0.1.1
rml_contact.h File Reference

Interface for manipulating how the RML receives contact information. More...

#include "orte_config.h"
#include "orte/types.h"
#include "opal/dss/dss_types.h"

Go to the source code of this file.

Functions

BEGIN_C_DECLS ORTE_DECLSPEC int orte_rml_base_get_contact_info (orte_jobid_t job, opal_buffer_t *data)
 Create packed RML contact information for the given process names. More...
 
ORTE_DECLSPEC int orte_rml_base_update_contact_info (opal_buffer_t *data)
 Update the RML with contact information. More...
 
ORTE_DECLSPEC int orte_rml_base_parse_uris (const char *contact_inf, orte_process_name_t *peer, char ***uris)
 Parse a contact information string. More...
 

Detailed Description

Interface for manipulating how the RML receives contact information.

Interface for manipulating how the RML receives contact information. These functions are generally used during orte_init and orte_finalize.

Function Documentation

BEGIN_C_DECLS ORTE_DECLSPEC int orte_rml_base_get_contact_info ( orte_jobid_t  job,
opal_buffer_t data 
)

Create packed RML contact information for the given process names.

Create packed RML contact information for a given job. The information is provided packed in an opal_buffer_t structure.

Parameters
[in]jobidJob whose contact information is needed
[out]dataContact information packed in buffer for name.
Return values
ORTE_SUCCESSSuccessfully found contact information
ORTE_ERRORContact information could not be found or shared

References opal_pointer_array_get_item(), OPAL_STRING, orte_get_job_data_object(), and opal_pointer_array_t::size.

ORTE_DECLSPEC int orte_rml_base_parse_uris ( const char *  contact_inf,
orte_process_name_t peer,
char ***  uris 
)

Parse a contact information string.

Parse a contact infromation string, such as that returned by orte_rml.get_contact_info(). Generally used to extract the peer name from a contact information string. It can also be used to extract the contact URI strings, although this is slightly less useful as the URIs may be RML componenent specific and not have general meaning.

Parameters
[in]contact_infoContact information string for peer
[out]peerPeer name in contact_info
[out]urisURI strings for peer. May be NULL if information is not needed
Return values
ORTE_SUCCESSInformation successfully extraced
ORTE_ERR_BAD_PARAMThe contact_info was not a valid string
ORTE_ERRORAn unspecified error occurred

References opal_argv_split(), and orte_util_convert_string_to_process_name().

Referenced by orte_rml_base_update_contact_info().

ORTE_DECLSPEC int orte_rml_base_update_contact_info ( opal_buffer_t data)

Update the RML with contact information.

Update the RML with contact information provided from a call to orte_rml_base_get_contact_info(), likely on another host.

Parameters
[in]dataContact information in a packed buffer, obtained by call to orte_rml_base_get_contact_info()
Return values
ORTE_SUCCESSSuccessfully updated contact information

References orte_process_name_t::jobid, orte_proc_info_t::max_procs, orte_proc_info_t::num_procs, OPAL_OUTPUT_VERBOSE, OPAL_STRING, ORTE_PROC_MY_NAME, orte_process_info, orte_rml, orte_rml_base_output, orte_rml_base_parse_uris(), orte_routed, and orte_rml_module_t::set_contact_info.