Hi Miao, On Thu, Sep 30, 2021 at 3:46 PM Miao-chen Chou <mcchou@xxxxxxxxxxxx> wrote: > > Chromium OS has been working closely with Linux Bluetooth community to > improve BlueZ stack, and there are increasing needs from applications > building their features around Bluetooth. One of the major feedback > from these application is the lack of the detailed failure reasons as > return for D-Bus method call, and these failure reasons can be used in > metrics, optimizing retry mechanism, hinting the reproduce scenario to > improve BlueZ stack. The current org.bluez.Error.* are serving the > generic errors well. However,g given org.bluez.Error.* errors are used > across different interface context which does not serve the detailed > failure reasons well. (See https://github.com/bluez/bluez/issues/131) > > Changes in v7: > - Fix nits > > Changes in v6: > - Rephrase error string > > Changes in v5: > - Replace error code with error string > > Changes in v4: > - Address make errors. > > Changes in v3: > - Correct error-codes.txt. > > Changes in v2: > - Add documentation for error codes > > Miao-chen Chou (4): > Add errors.txt to describe errors of D-Bus method returns > BR/EDR and LE connection failure reasons > Include detailed error string in Connect() return > Print error code for connect methods > > client/main.c | 3 +- > doc/errors.txt | 233 +++++++++++++++++++++++++++++++++++++++++++++++++ > src/device.c | 46 ++++++---- > src/error.c | 100 +++++++++++++++++++++ > src/error.h | 57 ++++++++++++ > 5 files changed, 422 insertions(+), 17 deletions(-) > create mode 100644 doc/errors.txt > > -- > 2.33.0.800.g4c38ced690-goog Applied, thanks. -- Luiz Augusto von Dentz