OpenMPI  0.1.1
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).