OpenMPI  0.1.1
base.h File Reference

I/O Forwarding Service. More...

#include "orte_config.h"
#include "opal/mca/mca.h"
#include "orte/mca/iof/iof.h"
#include "orte/runtime/orte_globals.h"

Go to the source code of this file.

Data Structures

struct  orte_iof_write_event_t
 
struct  orte_iof_sink_t
 
struct  orte_iof_read_event_t
 
struct  orte_iof_proc_t
 
struct  orte_iof_write_output_t
 
struct  orte_iof_base_t
 

Macros

#define ORTE_IOF_BASE_MSG_MAX   4096
 
#define ORTE_IOF_BASE_TAG_MAX   50
 
#define ORTE_IOF_BASE_TAGGED_OUT_MAX   8192
 
#define ORTE_IOF_MAX_INPUT_BUFFERS   50
 
#define ORTE_IOF_SINK_DEFINE(snk, nm, fid, tg, wrthndlr, eplist)
 
#define ORTE_IOF_READ_EVENT(rv, nm, fid, tg, cbfunc, actv)
 

Typedefs

typedef struct orte_iof_base_t orte_iof_base_t
 

Functions

BEGIN_C_DECLS ORTE_DECLSPEC int orte_iof_base_open (void)
 Function for finding and opening either all MCA components, or the one that was specifically requested via a MCA parameter.
 
ORTE_DECLSPEC OBJ_CLASS_DECLARATION (orte_iof_write_event_t)
 
ORTE_DECLSPEC OBJ_CLASS_DECLARATION (orte_iof_sink_t)
 
ORTE_DECLSPEC OBJ_CLASS_DECLARATION (orte_iof_read_event_t)
 
ORTE_DECLSPEC OBJ_CLASS_DECLARATION (orte_iof_proc_t)
 
ORTE_DECLSPEC OBJ_CLASS_DECLARATION (orte_iof_write_output_t)
 
ORTE_DECLSPEC int orte_iof_base_close (void)
 
ORTE_DECLSPEC int orte_iof_base_select (void)
 Call the query function on all available components to find out if they want to run. More...
 
ORTE_DECLSPEC int orte_iof_base_flush (void)
 
ORTE_DECLSPEC int orte_iof_base_write_output (orte_process_name_t *name, orte_iof_tag_t stream, unsigned char *data, int numbytes, orte_iof_write_event_t *channel)
 
ORTE_DECLSPEC void orte_iof_base_write_handler (int fd, short event, void *cbdata)
 

Variables

ORTE_DECLSPEC orte_iof_base_t orte_iof_base
 

Detailed Description

I/O Forwarding Service.

Macro Definition Documentation

#define ORTE_IOF_READ_EVENT (   rv,
  nm,
  fid,
  tg,
  cbfunc,
  actv 
)
Value:
do { \
orte_iof_read_event_t *rev; \
rev = OBJ_NEW(orte_iof_read_event_t); \
rev->name.jobid = (nm)->jobid; \
rev->name.vpid = (nm)->vpid; \
ORTE_EPOCH_SET(rev->name.epoch,(nm)->epoch); \
rev->tag = (tg); \
rev->fd = (fid); \
*(rv) = rev; \
opal_event_set(opal_event_base, \
&rev->ev, (fid), \
OPAL_EV_READ, \
(cbfunc), rev); \
if ((actv)) { \
rev->active = true; \
opal_event_add(&rev->ev, 0); \
} \
} while(0);
Definition: base.h:86
#define ORTE_IOF_SINK_DEFINE (   snk,
  nm,
  fid,
  tg,
  wrthndlr,
  eplist 
)
Value:
do { \
orte_iof_sink_t *ep; \
ep = OBJ_NEW(orte_iof_sink_t); \
ep->name.jobid = (nm)->jobid; \
ep->name.vpid = (nm)->vpid; \
ORTE_EPOCH_SET(ep->name.epoch,(nm)->epoch); \
ep->tag = (tg); \
if (0 <= (fid)) { \
ep->wev->fd = (fid); \
opal_event_set(opal_event_base, \
&(ep->wev->ev), ep->wev->fd, \
OPAL_EV_WRITE, \
wrthndlr, ep); \
} \
if (NULL != (eplist)) { \
opal_list_append((eplist), &ep->super); \
} \
*(snk) = ep; \
} while(0);
Definition: base.h:73
#define opal_list_append(l, i)
Append an item to the end of the list.
Definition: opal_list.h:410

Function Documentation

ORTE_DECLSPEC int orte_iof_base_select ( void  )

Call the query function on all available components to find out if they want to run.

Select the single component with the highest priority.

Referenced by orte_ess_base_orted_setup().