Re: [PATCH BlueZ] mesh: Add APIs for Provisioner and Config Client

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

 



Hi Brian,

On 14 Mar 2019, at 0.15, Brian Gix <brian.gix@xxxxxxxxx> wrote:
> +	uint64 token, array{byte}[16] device_key
> +			CreateNetwork(object app_root, array{byte}[16] uuid,
> +			array{byte}[16] net_key)
> +		This is the first method that an application calls to become

Minor: please be consistent with keeping an empty line between the function signature and its description. There are a few more places in this document with the same issue (which I won’t point out separately).

> +	array{byte} DecryptWithDeviceKey(array{byte}[16] key,
> +			array{byte}[13] nonce, array{byte} encrypted_data)

It seems inefficient to have a design requiring this kind of roundtrips between mesh and the application. Why can’t we have meshd manage the device key for remote devices (and also keep track of which application has access to them)? IMO we should keep the persistent storage requirements of the application to the bare minimum and put that burden mostly on the meshd side.

> +Mesh Provisioning Hierarchy
> +	void AddNode(array{byte}[16] uuid)

Wouldn’t “Provision” be a more matching name for this method?

> +Mesh Provisioner Hierarchy
> +============================
> +Service		unique name
> +Interface	org.bluez.mesh.Provisioner1
> +Object path	freely definable
> +
> +	int8 rssi, array{byte} data ScanResult()

This looks backward - shouldn’t the parameters be input parameters and not return parameters? As return parameters this method doesn’t make any sense to me.

> +	void AddNodeComplete(array{byte}[16] uuid, uint16 unicast, uint8 count)

This would be ProvisioningComplete if you follow my earlier naming suggestion.

> +	void AddNodeFailed(array{byte}[16] uuid, string reason)

And ProvisioningFailed here.

Johan



[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