Compartir a través de


Trabajar con gráficos

Al trabajar con gráficos del mismo nivel, se debe llamar a las funciones en un orden específico. El flujo de llamadas depende de si va a crear o abrir un gráfico del mismo nivel. En este tema se identifica el flujo de llamadas de función en una sencilla aplicación de grafo del mismo nivel.

Iniciar un grafo

Antes de que una aplicación llame a una función en Peer Graphing API, se debe llamar a PeerGraphStartup para inicializar Peer Graphing API para una aplicación y, a continuación, establecer la versión admitida.

Creación de un grafo del mismo nivel

El procedimiento siguiente identifica el flujo de llamadas para crear un grafo del mismo nivel.

Importante

Solo un elemento del mismo nivel debe llamar a PeerGraphCreate. Todos los demás elementos del mismo nivel deben llamar a PeerGraphOpen. Varias llamadas a PeerGraphCreate invalidar un grafo.

 

  • Cree un grafo del mismo nivel. Llame a PeerGraphCreate.

  • Regístrese para eventos del mismo nivel. Llame a PeerGraphRegisterEvent.

    Nota

    Para obtener más información sobre cómo registrarse para eventos del mismo nivel, consulte Infraestructura de eventos.

     

  • Escuche las conexiones a un grafo del mismo nivel. Llame a PeerGraphListen.

  • Realizar funciones dependientes de la aplicación durante el resto del tiempo de ejecución, por ejemplo, procesar eventos del mismo nivel y trabajar con conexiones.

  • Cierre la conexión a un grafo del mismo nivel. Llame a PeerGraphClose.

Apertura de un grafo del mismo nivel

El flujo de llamadas de función para abrir un grafo del mismo nivel depende del valor devuelto de la llamada a PeerGraphOpen. Los valores más importantes son S_OK y PEER_S_DATA_CREATED, que se explican en las secciones siguientes de este tema.

Nota

Si una llamada a PeerGraphOpen no devuelve S_OK ni PEER_S_DATA_CREATED, controle el error.

 

Cuando PeerGraphOpen devuelve S_OK

Cuando una llamada a PeerGraphOpen devuelve S_OK, se ha abierto un grafo del mismo nivel y una base de datos existente. El procedimiento siguiente identifica lo que puede hacer para abrir un grafo del mismo nivel cuando una llamada a PeerGraphOpen devuelve S_OK

  • Regístrese para eventos del mismo nivel. Llame a PeerGraphRegisterEvent.

    Nota

    Para obtener más información sobre el registro de eventos, consulte Infraestructura de eventos.

     

  • Busque un nodo. Se trata de un proceso realizado fuera de la infraestructura de grafos del mismo nivel mediante un método o una aplicación que identifique. Peer Graphing API no proporciona un mecanismo específico para encontrar un nodo de grafo inicial al que conectarse. Una aplicación debe usar otro mecanismo, como la API del Protocolo de resolución de nombres del mismo nivel (PNRP), para buscar el nodo inicial.

  • Si se encuentra un nodo, conéctese a él. Llame a PeerGraphConnect y, a continuación, llame a PeerGraphListen para escuchar las conexiones al grafo del mismo nivel.

    Nota

    Si no se encuentra un nodo, no llame a PeerGraphConnect y PeerGraphListen.

     

  • Realice funciones dependientes de la aplicación durante el resto del tiempo de ejecución, por ejemplo, procese eventos del mismo nivel y trabaje con conexiones, en función de si el nodo está conectado al grafo del mismo nivel o no. Por ejemplo, la aplicación puede optar por el tiempo de espera o realizar periódicamente la detección de un nodo activo en el gráfico.

  • Cierre la conexión al grafo del mismo nivel. Llame a PeerGraphClose.

Cuando PeerGraphOpen devuelve PEER_S_DATA_CREATED

Cuando PeerGraphOpen devuelve PEER_S_DATA_CREATED, significa que no se encuentra una base de datos existente para un grafo del mismo nivel, se crea una nueva base de datos y esta es la primera vez que se abre. Para usar o escuchar en un grafo del mismo nivel, un elemento del mismo nivel debe estar conectado y sincronizado con un grafo del mismo nivel.

El procedimiento siguiente identifica lo que puede hacer para abrir un grafo del mismo nivel cuando una llamada a PeerGraphOpen devuelve PEER_S_DATA_CREATED.

  • Abra un gráfico del mismo nivel. Llame a PeerGraphOpen.

  • Regístrese para eventos del mismo nivel. Llame a PeerGraphRegisterEvent.

    Nota

    Para obtener más información sobre cómo registrarse para eventos del mismo nivel, consulte Infraestructura de eventos.

     

  • Busque un nodo. Se trata de un proceso realizado fuera de la infraestructura de grafos del mismo nivel mediante un método o una aplicación que identifique. Peer Graphing API no proporciona un mecanismo específico para encontrar un nodo de grafo inicial al que conectarse. Una aplicación debe usar otro mecanismo, como la API del Protocolo de resolución de nombres del mismo nivel (PNRP), para buscar el nodo inicial.

  • Si se encuentra un nodo, conéctese a él. Llame a PeerGraphConnect y, a continuación, llame a PeerGraphListen para escuchar las conexiones al grafo del mismo nivel.

    Nota

    Si no se encuentra un nodo, no llame a PeerGraphConnect y PeerGraphListen.

     

  • Realice funciones dependientes de la aplicación durante el resto del tiempo de ejecución, por ejemplo, procese eventos del mismo nivel y trabaje con conexiones, en función de si el nodo está conectado al grafo del mismo nivel o no. Por ejemplo, la aplicación puede optar por el tiempo de espera o realizar periódicamente la detección de un nodo activo en el gráfico.

  • Cierre la conexión al grafo del mismo nivel. Llame a PeerGraphClose.