OpenMPI 0.1.1

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

- File List
- Globals

Data Structures | Typedefs | Functions | Variables
iof_hnp.h File Reference

The hnp IOF component is used in HNP processes only. More...

`#include "orte_config.h"`
`#include "orte/mca/iof/iof.h"`
`#include "orte/mca/iof/base/base.h"`

Go to the source code of this file.

## Data Structures
struct | orte_iof_hnp_component_t
| IOF HNP Component. More...

## Typedefs
typedef struct orte_iof_hnp_component_t | orte_iof_hnp_component_t

## Functions
void | orte_iof_hnp_recv (int status, orte_process_name_t *sender, opal_buffer_t *buffer, orte_rml_tag_t tag, void *cbdata)
void | orte_iof_hnp_read_local_handler (int fd, short event, void *cbdata)
void | orte_iof_hnp_stdin_cb (int fd, short event, void *cbdata)
bool | orte_iof_hnp_stdin_check (int fd)
int | orte_iof_hnp_send_data_to_endpoint (orte_process_name_t *host, orte_process_name_t *target, orte_iof_tag_t tag, unsigned char *data, int numbytes)

## Variables
ORTE_MODULE_DECLSPEC orte_iof_hnp_component_t | mca_iof_hnp_component
orte_iof_base_module_t | orte_iof_hnp_module

## Detailed Description

The hnp IOF component is used in HNP processes only.

It is the "hub" for all IOF activity, meaning that all IOF traffic is routed to the hnp component, and this component figures out where it is supposed to go from there. Specifically: there is no direct proxy-to-proxy IOF communication. If a proxy/orted wants to get a stream from another proxy/orted, the stream will go proxy/orted -> HNP -> proxy/orted.

The hnp IOF component does two things: 1. forward fragments between file descriptors and streams, and 2. maintain forwarding tables to "route" incoming fragments to outgoing destinations (both file descriptors and other published streams).