OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

Functions
rml_base_contact.c File Reference
`#include "orte_config.h"`
`#include "orte/constants.h"`
`#include "orte/types.h"`
`#include "opal/util/argv.h"`
`#include "opal/util/output.h"`
`#include "opal/dss/dss.h"`
`#include "orte/mca/errmgr/errmgr.h"`
`#include "orte/mca/routed/routed.h"`
`#include "orte/util/name_fns.h"`
`#include "orte/util/proc_info.h"`
`#include "orte/runtime/orte_globals.h"`
`#include "orte/mca/rml/rml.h"`
`#include "orte/mca/rml/base/rml_contact.h"`
`#include "orte/mca/rml/base/base.h"`

## Functions
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...
int | orte_rml_base_update_contact_info (opal_buffer_t *data)
| Update the RML with contact information. More...
int | orte_rml_base_parse_uris (const char *uri, orte_process_name_t *peer, char ***uris)
| Parse a contact information string. More...

## Function Documentation

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] | jobid | Job whose contact information is needed
  [out] | data | Contact information packed in buffer for `name`.

Return values

  ORTE_SUCCESS | Successfully found contact information
  ORTE_ERROR | Contact 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.

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_info | Contact information string for peer
  [out] | peer | Peer name in contact_info
  [out] | uris | URI strings for peer. May be NULL if information is not needed

Return values

  ORTE_SUCCESS | Information successfully extraced
  ORTE_ERR_BAD_PARAM | The contact_info was not a valid string
  ORTE_ERROR | An unspecified error occurred

References opal_argv_split(), and orte_util_convert_string_to_process_name().

Referenced by orte_rml_base_update_contact_info().

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] | data | Contact information in a packed buffer, obtained by call to orte_rml_base_get_contact_info()

Return values

  ORTE_SUCCESS | Successfully 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.