1
1
openmpi/orte/mca/notifier/hnp/notifier_hnp_component.c
Abhishek Kulkarni f5b9bc4ff1 Add a new "HNP" component to the notifier framework.
This component proxies notification messages up to the HNP.  This
component runs in both the HNP and non-HNP processes for ease of
selection (e.g., so you can "--mca notifier hnp" (vs. "--mca
notifier hnp,non_hnp").  It auto-detects where it is running and
does the Right Thing -- if it's in the HNP process, it sets up to
receive incoming proxied messages.  If it's not in the HNP, then it
proxies all messages to the HNP.

This commit was SVN r23156.
2010-05-17 22:43:43 +00:00

72 строки
2.3 KiB
C

/* -*- C -*-
*
* Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2009 Cisco Systems, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
/**
* @file
*
* This component proxies notification messages up to the HNP. This
* component runs in both the HNP and non-HNP processes for ease of
* selection (e.g., so you can "--mca notifier hnp" (vs. "--mca
* notifier hnp,non_hnp"). It auto-detects where it is running and
* does the Right Thing -- if it's in the HNP process, it sets up to
* receive incoming proxied messages. If it's not in the HNP, then it
* proxies all messages to the HNP.
*/
#include "orte_config.h"
#include "orte/constants.h"
#include "notifier_hnp.h"
static int orte_notifier_hnp_component_query(mca_base_module_t **module,
int *priority);
/*
* Struct of function pointers that need to be initialized
*/
orte_notifier_base_component_t mca_notifier_hnp_component = {
{
ORTE_NOTIFIER_BASE_VERSION_1_0_0,
"hnp", /* MCA module name */
ORTE_MAJOR_VERSION, /* MCA module major version */
ORTE_MINOR_VERSION, /* MCA module minor version */
ORTE_RELEASE_VERSION, /* MCA module release version */
NULL,
NULL,
orte_notifier_hnp_component_query /* module query */
},
{
/* The component is checkpoint ready */
MCA_BASE_METADATA_PARAM_CHECKPOINT
}
};
static int orte_notifier_hnp_component_query(mca_base_module_t **module,
int *priority)
{
*priority = 10;
*module = (mca_base_module_t *)&orte_notifier_hnp_module;
return ORTE_SUCCESS;
}