openWeave is a home area network application protocol stack designed to enable asynchronous, symmetric, device-to-device, device-to-mobile and device-to-cloud communications for control path and data path messaging.
In openweave, when application call device manager Close, which would send unsubscribe request to peripheral, and start the unsubscribe timer, after it receive unsubscribe confirm or timeout happens, openweave would close ble endpoint's connection.
App don't know when the ble connection goes away when using above async Close and use delay/retry to alleviate this issue, but failure may still happen, so we force close ble endpoint no matter whether we receive unsubscribe confirm or not.
we see iOS app forces ble connection close before weave close so that ios app would not send woble unsubscribe request to close woble connection in device.In order to fix this issue, we move ble disconnection after woble shutdown/close so that unsubcribe can be sent out and further disable autoclose when connecting ble so that woble shutdown/close would
not close ble connection, and app/device manager can close ble connection explicitly after close.
In openweave, when application call device manager Close, which would send unsubscribe request to peripheral, and start the unsubscribe timer, after it receive unsubscribe confirm or timeout happens, openweave would close ble endpoint's connection. App don't know when the ble connection goes away when using above async Close and use delay/retry to alleviate this issue, but failure may still happen, so we force close ble endpoint no matter whether we receive unsubscribe confirm or not.
we see iOS app forces ble connection close before weave close so that ios app would not send woble unsubscribe request to close woble connection in device.In order to fix this issue, we move ble disconnection after woble shutdown/close so that unsubcribe can be sent out and further disable autoclose when connecting ble so that woble shutdown/close would not close ble connection, and app/device manager can close ble connection explicitly after close.