From 29fd19f40dffae9baa1939831602d5d017c7cbb6 Mon Sep 17 00:00:00 2001 From: Gilles Boccon-Gibod Date: Fri, 12 Aug 2022 14:22:31 -0700 Subject: [PATCH] gbg/fix subscribe lambda (#23) * don't use a lambda as a subscriber * update tests to look at side effects instead of internals --- bumble/gatt_client.py | 14 +++++++-- tests/gatt_test.py | 67 +++++++++++++++++++++++++++---------------- 2 files changed, 53 insertions(+), 28 deletions(-) diff --git a/bumble/gatt_client.py b/bumble/gatt_client.py index 65a3c84..94799a3 100644 --- a/bumble/gatt_client.py +++ b/bumble/gatt_client.py @@ -547,7 +547,9 @@ class Client: for subscriber_set in subscriber_sets: if subscriber is not None: subscriber_set.add(subscriber) - subscriber_set.add(lambda value: characteristic.emit('update', self.connection, value)) + # Add the characteristic as a subscriber, which will result in the characteristic + # emitting an 'update' event when a notification or indication is received + subscriber_set.add(characteristic) await self.write_value(cccd, struct.pack('