Présentation de l'instance de connexion

Les instances d'objets de connexion sont créées de la même manière que les instances d'adaptateur. Lorsqu'une nouvelle connexion est requise, une instance de connexion est créée.

Lorsqu'une instance d'une connexion est requise, la méthode CreateConnectionInstance est appelée. Cette méthode doit appeler la méthode mpiConnectionCreate pour créer l'objet physique et associer la table virtuelle de connexion à l'objet.

La table virtuelle de connexion possède la structure suivante :

struct MPI_CONNECTION_VTABLE
{
size_t nSize; /* size of this structure */
MPIRC     (*pfConnect)(HMPICONNECT hConnection,HMPIADAPT hAdapter);
MPIRC     (*pfDisconnect)(HMPICONNECT hConnection);
};
typedef struct MPI_CONNECTION_VTABLE MPI_CONNECTION_VTABLE;
Exemple CreateConnectionInstance

Le code suivant est un exemple de création d'une instance de connexion.

MPI_CONNECTION_VTABLE ConnectionTable = { /* Initialize */ };

MPIRC CreateConnectionInstance(HMPICONNECT *phConnection)
{
MPIRC rc;
rc = mpiConnectionCreate(phConnection, &ConnectionTable);

if (rc == MPI_SUCCESS)
{   
/* Define the number and type of adapter properties */
rc = mpiObjectNewPropColl(*phConnection, 
MPI_PROPBASE_USER, 
NUM_CONNECTION_PROPERTIES, 
ConnectionProperties);

/* Do any initialization of instance of connection object */
}
return rc;
}

Exemple DestroyConnectionInstance

La méthode DestroyConnectionInstance doit faire la procédure inverse, c'est-à-dire qu'elle doit supprimer l'objet de connexion et libérer les structures de données créées par la méthode de création.

Le code suivant est un exemple de suppression d'objet.

MPIRC 
DestroyConnectionInstance(HMPICONNECT hConnection)
{
/* Free up any memory or data structures used by the connection instance */

return (mpiObjectDestroy(hConnection));
}