Internal definitions and functions for launchers. More...

Go to the source code of this file.
Data Structures | |
| struct | nm_launcher_info_s |
| block of info given by the launcher More... | |
| struct | nm_launcher_driver_s |
| struct | nm_launcher_gate_s |
| an entry for a remote node More... | |
| struct | nm_launcher_gates_s |
| a set of gates to manage connection establishment by launcher More... | |
Typedefs | |
| typedef nm_drv_vect_t(* | nm_launcher_selector_t) (const char *url, void *_arg) |
| Type for 'selector'. | |
Functions | |
| PUK_IFACE_TYPE (NewMad_Launcher, struct nm_launcher_driver_s) | |
| PUK_HASHTABLE_TYPE (nm_component, puk_component_t, nm_drv_t, &puk_hash_pointer_default_hash, &puk_hash_pointer_default_eq, NULL) | |
| hash nm drivers by component | |
| void | nm_launcher_gates_init (struct nm_launcher_gates_s *p_gates, int size, int rank) |
| void | nm_launcher_gates_destroy (struct nm_launcher_gates_s *p_gates) |
| void | nm_launcher_gates_connect (struct nm_launcher_gates_s *p_gates) |
| connects the given set of gates | |
| void | nm_launcher_set_info (const struct nm_launcher_info_s *p_info) |
| Declare the rank, size & properties of job/launcher. | |
| nm_drv_t | nm_launcher_add_driver (puk_component_t component, nm_trk_kind_t kind) |
| Add a driver to the session. | |
| void | nm_launcher_set_selector (nm_launcher_selector_t selector, void *_arg) |
| Declare the selector to use to establish connections. | |
| int | nm_launcher_get_url (const char **p_local_url) |
| Finalizes process of driver loading & return local url. | |
| int | nm_launcher_connect_async (nm_gate_t *pp_gate, const char *remote_url) |
| Asynchronously start connection establishment for the given gate. | |
| int | nm_launcher_connect_wait (nm_gate_t p_gate) |
| Wait for a given async connection to get ready. | |
| void | nm_launcher_isend (struct nm_req_s *p_req, struct nm_data_s *p_data, struct nm_gate_s *p_gate) |
| void | nm_launcher_send (struct nm_data_s *p_data, struct nm_gate_s *p_gate) |
| void | nm_launcher_irecv (struct nm_req_s *p_req, struct nm_data_s *p_data, struct nm_gate_s *p_gate) |
| void | nm_launcher_recv (struct nm_data_s *p_data, struct nm_gate_s *p_gate) |
Detailed Description
Internal definitions and functions for launchers.
This file is not part of the public interface; it is supposed to be used only by launchers. The interface for endusers is nm_launcher_interface.h
Definition in file nm_launcher_private.h.
Typedef Documentation
◆ nm_launcher_selector_t
| typedef nm_drv_vect_t(* nm_launcher_selector_t) (const char *url, void *_arg) |
Type for 'selector'.
Returns drivers to connect to given gate.
Definition at line 99 of file nm_launcher_private.h.
Function Documentation
◆ nm_launcher_add_driver()
| nm_drv_t nm_launcher_add_driver | ( | puk_component_t | component, |
| nm_trk_kind_t | kind | ||
| ) |
Add a driver to the session.
- Note
- call to this function is optional. Default drivers will be loaded if no driver is loaded manually.
Referenced by nm_launcher_gates_populate_ns().
◆ nm_launcher_connect_async()
| int nm_launcher_connect_async | ( | nm_gate_t * | pp_gate, |
| const char * | remote_url | ||
| ) |
Asynchronously start connection establishment for the given gate.
the remote node must call this function with our url
- Note
- nm_launcher_connect_wait() must be called later on this gate.
◆ nm_launcher_connect_wait()
| int nm_launcher_connect_wait | ( | nm_gate_t | p_gate | ) |
Wait for a given async connection to get ready.
◆ nm_launcher_gates_connect()
| void nm_launcher_gates_connect | ( | struct nm_launcher_gates_s * | p_gates | ) |
connects the given set of gates
◆ nm_launcher_gates_destroy()
| void nm_launcher_gates_destroy | ( | struct nm_launcher_gates_s * | p_gates | ) |
◆ nm_launcher_gates_init()
| void nm_launcher_gates_init | ( | struct nm_launcher_gates_s * | p_gates, |
| int | size, | ||
| int | rank | ||
| ) |
◆ nm_launcher_get_url()
| int nm_launcher_get_url | ( | const char ** | p_local_url | ) |
Finalizes process of driver loading & return local url.
'p_local_url' is a return parameter, pointing to an object allocated in the launcher- do not free nor modify!
◆ nm_launcher_irecv()
| void nm_launcher_irecv | ( | struct nm_req_s * | p_req, |
| struct nm_data_s * | p_data, | ||
| struct nm_gate_s * | p_gate | ||
| ) |
◆ nm_launcher_isend()
| void nm_launcher_isend | ( | struct nm_req_s * | p_req, |
| struct nm_data_s * | p_data, | ||
| struct nm_gate_s * | p_gate | ||
| ) |
◆ nm_launcher_recv()
◆ nm_launcher_send()
◆ nm_launcher_set_info()
| void nm_launcher_set_info | ( | const struct nm_launcher_info_s * | p_info | ) |
Declare the rank, size & properties of job/launcher.
◆ nm_launcher_set_selector()
| void nm_launcher_set_selector | ( | nm_launcher_selector_t | selector, |
| void * | _arg | ||
| ) |
Declare the selector to use to establish connections.
Referenced by nm_launcher_gates_populate_ns().
◆ PUK_HASHTABLE_TYPE()
| PUK_HASHTABLE_TYPE | ( | nm_component | , |
| puk_component_t | , | ||
| nm_drv_t | , | ||
| & | puk_hash_pointer_default_hash, | ||
| & | puk_hash_pointer_default_eq, | ||
| NULL | |||
| ) |
hash nm drivers by component
◆ PUK_IFACE_TYPE()
| PUK_IFACE_TYPE | ( | NewMad_Launcher | , |
| struct nm_launcher_driver_s | |||
| ) |