diff mbox series

[RFC,1/3] adapter-api: Add Experimental property

Message ID 20210817010237.1792589-1-luiz.dentz@gmail.com (mailing list archive)
State Superseded
Headers show
Series [RFC,1/3] adapter-api: Add Experimental property | expand

Commit Message

Luiz Augusto von Dentz Aug. 17, 2021, 1:02 a.m. UTC
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

This adds Experimental property which indicates what experimental
features are currently enabled.
---
 doc/adapter-api.txt | 5 +++++
 1 file changed, 5 insertions(+)

Comments

bluez.test.bot@gmail.com Aug. 17, 2021, 1:23 a.m. UTC | #1
This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=532387

---Test result---

Test Summary:
CheckPatch                    FAIL      0.94 seconds
GitLint                       FAIL      0.37 seconds
Prep - Setup ELL              PASS      47.58 seconds
Build - Prep                  PASS      0.11 seconds
Build - Configure             PASS      8.30 seconds
Build - Make                  PASS      206.51 seconds
Make Check                    PASS      9.41 seconds
Make Distcheck                PASS      243.43 seconds
Build w/ext ELL - Configure   PASS      8.36 seconds
Build w/ext ELL - Make        PASS      194.51 seconds

Details
##############################
Test: CheckPatch - FAIL
Desc: Run checkpatch.pl script with rule in .checkpatch.conf
Output:
client: Add support for printing Experimental property
WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#10: 
	Experimental: BlueZ Experimental LL p.. (15c0a148-c273-11ea-b3de-0242ac130004)

- total: 0 errors, 1 warnings, 63 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

"[PATCH] client: Add support for printing Experimental property" has style problems, please review.

NOTE: Ignored message types: COMMIT_MESSAGE COMPLEX_MACRO CONST_STRUCT FILE_PATH_CHANGES MISSING_SIGN_OFF PREFER_PACKED SPDX_LICENSE_TAG SPLIT_STRING SSCANF_TO_KSTRTO

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.


##############################
Test: GitLint - FAIL
Desc: Run gitlint with rule in .gitlint
Output:
client: Add support for printing Experimental property
7: B3 Line contains hard tab characters (\t): "	Experimental: BlueZ Experimental LL p.. (15c0a148-c273-11ea-b3de-0242ac130004)"


##############################
Test: Prep - Setup ELL - PASS
Desc: Clone, build, and install ELL

##############################
Test: Build - Prep - PASS
Desc: Prepare environment for build

##############################
Test: Build - Configure - PASS
Desc: Configure the BlueZ source tree

##############################
Test: Build - Make - PASS
Desc: Build the BlueZ source tree

##############################
Test: Make Check - PASS
Desc: Run 'make check'

##############################
Test: Make Distcheck - PASS
Desc: Run distcheck to check the distribution

##############################
Test: Build w/ext ELL - Configure - PASS
Desc: Configure BlueZ source with '--enable-external-ell' configuration

##############################
Test: Build w/ext ELL - Make - PASS
Desc: Build BlueZ source with '--enable-external-ell' configuration



---
Regards,
Linux Bluetooth
Luiz Augusto von Dentz Aug. 17, 2021, 11:46 p.m. UTC | #2
Hi Marcel,

On Mon, Aug 16, 2021 at 6:02 PM Luiz Augusto von Dentz
<luiz.dentz@gmail.com> wrote:
>
> From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
>
> This adds Experimental property which indicates what experimental
> features are currently enabled.
> ---
>  doc/adapter-api.txt | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/doc/adapter-api.txt b/doc/adapter-api.txt
> index 464434a81..13e904425 100644
> --- a/doc/adapter-api.txt
> +++ b/doc/adapter-api.txt
> @@ -335,3 +335,8 @@ Properties  string Address [readonly]
>                                 "peripheral": Supports the peripheral role.
>                                 "central-peripheral": Supports both roles
>                                                       concurrently.
> +
> +               array{string} Experimental [readonly, optional]
> +
> +                       List of 128-bit UUIDs that represents the experimental
> +                       features currently enabled.
> --
> 2.31.1
>

Any feedback on this, by design this would only appear when
experimental is enabled (either via main.conf or using -E), the
intention is to have a common way to expose to application a certain
experimental feature is enabled.
Marcel Holtmann Aug. 19, 2021, 2:57 p.m. UTC | #3
Hi Luiz,

> This adds Experimental property which indicates what experimental
> features are currently enabled.
> ---
> doc/adapter-api.txt | 5 +++++
> 1 file changed, 5 insertions(+)
> 
> diff --git a/doc/adapter-api.txt b/doc/adapter-api.txt
> index 464434a81..13e904425 100644
> --- a/doc/adapter-api.txt
> +++ b/doc/adapter-api.txt
> @@ -335,3 +335,8 @@ Properties	string Address [readonly]
> 				"peripheral": Supports the peripheral role.
> 				"central-peripheral": Supports both roles
> 						      concurrently.
> +
> +		array{string} Experimental [readonly, optional]
> +
> +			List of 128-bit UUIDs that represents the experimental
> +			features currently enabled.

I wonder if this is the best name.

Do we care about just the enabled experimental features or the overall supported experimental features as well. And please keep in mind that we also have per-adapter vs global experimental features. So we should distinguish here as well.

We also need to document that this property is only available if bluetoothd is started with -E and otherwise this property is omitted.

My proposal would be to at least name it ExperimentalSupport or ExperimentalFeatures to give us a path to nicely extend it if needed.

Regards

Marcel
Luiz Augusto von Dentz Aug. 19, 2021, 5:44 p.m. UTC | #4
Hi Marcel,

On Thu, Aug 19, 2021 at 7:57 AM Marcel Holtmann <marcel@holtmann.org> wrote:
>
> Hi Luiz,
>
> > This adds Experimental property which indicates what experimental
> > features are currently enabled.
> > ---
> > doc/adapter-api.txt | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/doc/adapter-api.txt b/doc/adapter-api.txt
> > index 464434a81..13e904425 100644
> > --- a/doc/adapter-api.txt
> > +++ b/doc/adapter-api.txt
> > @@ -335,3 +335,8 @@ Properties        string Address [readonly]
> >                               "peripheral": Supports the peripheral role.
> >                               "central-peripheral": Supports both roles
> >                                                     concurrently.
> > +
> > +             array{string} Experimental [readonly, optional]
> > +
> > +                     List of 128-bit UUIDs that represents the experimental
> > +                     features currently enabled.
>
> I wonder if this is the best name.
>
> Do we care about just the enabled experimental features or the overall supported experimental features as well. And please keep in mind that we also have per-adapter vs global experimental features. So we should distinguish here as well.

This is per-adapter and I guess the global one would could exposed on
all adapters since we don't have a global object, or perhaps you are
suggesting to use / for that?

> We also need to document that this property is only available if bluetoothd is started with -E and otherwise this property is omitted.

Will add it.

> My proposal would be to at least name it ExperimentalSupport or ExperimentalFeatures to give us a path to nicely extend it if needed.

Sure, I do wonder if we should make it writable as well, so
applications can enable/disable experimental features themselves? Or
perhaps that is going too far as to enable unstable code by
application, it would only work when -E is given thought which would
enable everything anyway but I was thinking on having -E optionally
take a list of UUIDs so one could enable just certain features
instead.

> Regards
>
> Marcel
>
Marcel Holtmann Aug. 19, 2021, 7:31 p.m. UTC | #5
Hi Luiz,

>>> This adds Experimental property which indicates what experimental
>>> features are currently enabled.
>>> ---
>>> doc/adapter-api.txt | 5 +++++
>>> 1 file changed, 5 insertions(+)
>>> 
>>> diff --git a/doc/adapter-api.txt b/doc/adapter-api.txt
>>> index 464434a81..13e904425 100644
>>> --- a/doc/adapter-api.txt
>>> +++ b/doc/adapter-api.txt
>>> @@ -335,3 +335,8 @@ Properties        string Address [readonly]
>>>                              "peripheral": Supports the peripheral role.
>>>                              "central-peripheral": Supports both roles
>>>                                                    concurrently.
>>> +
>>> +             array{string} Experimental [readonly, optional]
>>> +
>>> +                     List of 128-bit UUIDs that represents the experimental
>>> +                     features currently enabled.
>> 
>> I wonder if this is the best name.
>> 
>> Do we care about just the enabled experimental features or the overall supported experimental features as well. And please keep in mind that we also have per-adapter vs global experimental features. So we should distinguish here as well.
> 
> This is per-adapter and I guess the global one would could exposed on
> all adapters since we don't have a global object, or perhaps you are
> suggesting to use / for that?

if it is read-only, then yes, the global one could be exposed on all adapters.

>> We also need to document that this property is only available if bluetoothd is started with -E and otherwise this property is omitted.
> 
> Will add it.
> 
>> My proposal would be to at least name it ExperimentalSupport or ExperimentalFeatures to give us a path to nicely extend it if needed.
> 
> Sure, I do wonder if we should make it writable as well, so
> applications can enable/disable experimental features themselves? Or
> perhaps that is going too far as to enable unstable code by
> application, it would only work when -E is given thought which would
> enable everything anyway but I was thinking on having -E optionally
> take a list of UUIDs so one could enable just certain features
> instead.

Lets not make this writeable from applications. Some of them require power off etc. So that is going to far.

Regards

Marcel
diff mbox series

Patch

diff --git a/doc/adapter-api.txt b/doc/adapter-api.txt
index 464434a81..13e904425 100644
--- a/doc/adapter-api.txt
+++ b/doc/adapter-api.txt
@@ -335,3 +335,8 @@  Properties	string Address [readonly]
 				"peripheral": Supports the peripheral role.
 				"central-peripheral": Supports both roles
 						      concurrently.
+
+		array{string} Experimental [readonly, optional]
+
+			List of 128-bit UUIDs that represents the experimental
+			features currently enabled.