1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 #ifndef MCA_RML_OOB_RML_OOB_H
26 #define MCA_RML_OOB_RML_OOB_H
27
28 #include "orte_config.h"
29
30 #include "opal/dss/dss_types.h"
31 #include "opal/mca/event/event.h"
32
33 #include "orte/mca/oob/oob.h"
34
35 #include "orte/mca/rml/base/base.h"
36
37 BEGIN_C_DECLS
38
39 typedef struct {
40 orte_rml_base_module_t api;
41 opal_list_t queued_routing_messages;
42 opal_event_t *timer_event;
43 struct timeval timeout;
44 char *routed;
45 } orte_rml_oob_module_t;
46
47 ORTE_MODULE_DECLSPEC extern orte_rml_component_t mca_rml_oob_component;
48
49 void orte_rml_oob_fini(struct orte_rml_base_module_t *mod);
50
51 int orte_rml_oob_send_nb(orte_process_name_t* peer,
52 struct iovec* msg,
53 int count,
54 orte_rml_tag_t tag,
55 orte_rml_callback_fn_t cbfunc,
56 void* cbdata);
57
58 int orte_rml_oob_send_buffer_nb(orte_process_name_t* peer,
59 opal_buffer_t* buffer,
60 orte_rml_tag_t tag,
61 orte_rml_buffer_callback_fn_t cbfunc,
62 void* cbdata);
63
64 END_C_DECLS
65
66 #endif