RE: [PATCH BlueZ v2] doc: Initial Bluetooth Mesh API

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

 



Hi Luiz, Johan,

> -----Original Message-----
> From: Luiz Augusto von Dentz [mailto:luiz.dentz@xxxxxxxxx]
> 
> Hi Johan,
> 
> On Mon, Nov 12, 2018 at 2:58 PM Johan Hedberg
> <johan.hedberg@xxxxxxxxx> wrote:
> >
> > Hi Luiz
> >
> > > On 12 Nov 2018, at 13.24, Luiz Augusto von Dentz
> <luiz.dentz@xxxxxxxxx> wrote:
> > >
> > > It seems wrong  to me to have to send your own object as method
> > > argument, usually this sort of communication goes as a Signal but it
> > > seems the Element interface has no signal to be able to do something
> > > like that.
> >
> > The problem with signals is that they cannot return an error, and I do think
> we’d want to have the daemon return an error if it cannot send the given
> message. Also, by default signals are broadcast, and it feels a bit hawkish to
> do unicast destinations for them.
> 
> Well unicast signals is not a new thing, though we never used it that would be
> possible to do something like that, anyway D-Bus signals are subscription
> based which is the reason we haven't consider it to be problem to emit signal
> for Value changes in case of GATT attributes, that said the lack of error result
> could indeed be a problem but some of the errors are actually due to the
> checking object_path is valid?
> Other errors Im not sure, Ive assume if there is a response that would then
> call MessageReceived, but perhaps we want to validate the transmission
> itself, but I though that wasn't possible in BlueZ.

After a number of negotiations, we decided on:

* Methods on Element Object Paths for incoming messages  (from 
Mesh-->Daemon-->App) for Security and differentiation between destination
elements (an App can implement multiple elements). While we may have
been able to get Signals to work Securely, the delivery of incoming messages is
*always* to a *specific* element, and really shouldn't be using a broadcast mechanism.

* Using the App's element Object path as the param (App --> Daemon --> Mesh)
to specify the Source address.  This was done to minimize the unique ways of
referring to the Element



> 
> --
> Luiz Augusto von Dentz




[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