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.
|
#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) |
|
#define ORTE_IOF_READ_EVENT |
( |
|
rv, |
|
|
|
nm, |
|
|
|
fid, |
|
|
|
tg, |
|
|
|
cbfunc, |
|
|
|
actv |
|
) |
| |
Value:do { \
orte_iof_read_event_t *rev; \
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);
#define ORTE_IOF_SINK_DEFINE |
( |
|
snk, |
|
|
|
nm, |
|
|
|
fid, |
|
|
|
tg, |
|
|
|
wrthndlr, |
|
|
|
eplist |
|
) |
| |
Value:do { \
orte_iof_sink_t *ep; \
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)) {
\
} \
*(snk) = ep; \
} while(0);
#define opal_list_append(l, i)
Append an item to the end of the list.
Definition: opal_list.h:410
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().