Pregunta

Estoy leyendo el código fuente de la API y la Smack el método XMPPConnection # Desconectar es el siguiente:

public void disconnect(Presence unavailablePresence) {
    // If not connected, ignore this request.
    if (packetReader == null || packetWriter == null) {
        return;
    }

    shutdown(unavailablePresence);

    if (roster != null) {
        roster.cleanup();
        roster = null;
    }

    wasAuthenticated = false;

    packetWriter.cleanup();
    packetWriter = null;
    packetReader.cleanup();
    packetReader = null;
}

En mi caso, estoy almacenando un XMPPConnection vivo dentro de una clase llamada Sesión. Un hilo de ejecución separado intentará cerrar la instancia de XMPPConnection llamando Sesión # shutdown () . Tal como lo veo, voy a tener que contar cooperativamente sesión para cerrar la XMPPConnection mediante la adquisición de un mutex o algo así. Correcta?

¿Fue útil?

Solución

Parece que se trata de una conocida fallo .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top