Re: RequestDisconnection() Operation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Randy,

On Sun, Feb 24, 2013 at 11:09 PM, Randy Yates
<yates@xxxxxxxxxxxxxxxxxxxxx> wrote:
> The following question is regarding bluez 5.2:
>
> There are at least two cases in which a remote bluetooth device "client"
> connected to a profile managed by a local bluetooth device "server"
> (via bluez) would disconnect:
>
>   1. The remote bluetooth device client initiates a disconnect.
>
>   2. The remote bluetooth device goes out of range.
>
> Would a RequestDisconnection() method be invoked by the bluez stack in
> both these cases?

If the remote device start the disconnection there is nothing you can
do, so no RequestDisconnection is not called in any of these cases.
Also note that in case of link loss it might take a while until the
controller notify it has lost the link, usually it will only report
after a timeout specified by link supervision timeout (20 seconds by
default). RequestDisconnection is for connection cleanup when the
disconnection is started locally, so it is called before the link is
disconnected, because of this you might want to watch the events on
the fd that you got in the NewConnection directly so you can react to
e.g. HUP or ERR. Another important detail is that if you want to force
a disconnection you should use shudown, close will just release the
process reference to the fd but bluetoothd has another one to track
which profiles are connected.

--
Luiz Augusto von Dentz
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux