New issue
Advanced search Search tips

Issue 726534 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 3
Type: Feature

Blocking:
issue 580406



Sign in to add a comment

bluetooth: Match disconnect behavior across platforms

Project Member Reported by ortuno@chromium.org, May 25 2017

Issue description

When BluetoothDevice::DisconnectGatt is called:

Android: We call BluetoothGatt#disconnectGatt which initiates the disconnection. Once ConnectionStateChanged is called we set gatt_connected_ to false.

BlueZ: Unclear.

macOS: We call CBCentralManager:cancelPeripheralConnection which immediately causes the platform to mark the device as disconnected. After the device actually disconnects DidDisconnectPeripheral is called which causes us to set gatt_connected_ to false.

Windows: Doesn't support disconnecting.

We should define what's the correct behavior and enforce it across platforms. Questions that we should keep in mind:

1. When should a device be marked as "not connected"?
2. What should happen to GATT attributes when DisconnectGatt is called?
3. What happens if ConnectGatt is called before we receive the disconnection event? (This could cause races in macOS).
4. When should DeviceChanged be called?


 
Project Member

Comment 1 by sheriffbot@chromium.org, May 28 2018

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Status: Available (was: Untriaged)

Sign in to add a comment