summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Rahul Arya <aryarahul@google.com> 2023-04-17 17:37:04 +0000
committer Rahul Arya <aryarahul@google.com> 2023-04-17 17:38:01 +0000
commite7d47a730bfa86e8c9c0db69d0616216d9c98339 (patch)
treedec774c2237334fd25284dce9c01e859b3db583d
parent0fd67b0064f078e729629933ca7b09fdd684d5c5 (diff)
[Private GATT] Rename writable -> writable_with_response
Based on comments from aosp/2503097. Test: unit Bug: 274945531 Change-Id: I566daa99e5ba23faac4eb0c993b9e100919c1a9e
-rw-r--r--system/rust/src/gatt/ffi.rs13
-rw-r--r--system/rust/src/gatt/server/att_database.rs6
-rw-r--r--system/rust/src/gatt/server/gatt_database.rs30
-rw-r--r--system/rust/src/gatt/server/services/gatt.rs7
-rw-r--r--system/rust/src/gatt/server/test/test_att_db.rs4
-rw-r--r--system/rust/src/gatt/server/transactions/write_request.rs2
-rw-r--r--system/rust/tests/gatt_server_test.rs4
7 files changed, 38 insertions, 28 deletions
diff --git a/system/rust/src/gatt/ffi.rs b/system/rust/src/gatt/ffi.rs
index 3ab639cfa8..cae198dd05 100644
--- a/system/rust/src/gatt/ffi.rs
+++ b/system/rust/src/gatt/ffi.rs
@@ -328,7 +328,7 @@ fn consume_descriptors<'a>(
{
let mut att_permissions = AttPermissions::empty();
att_permissions.set(AttPermissions::READABLE, permissions & 0x01 != 0);
- att_permissions.set(AttPermissions::WRITABLE, permissions & 0x10 != 0);
+ att_permissions.set(AttPermissions::WRITABLE_WITH_RESPONSE, permissions & 0x10 != 0);
out.push(GattDescriptorWithHandle {
handle: AttHandle(*attribute_handle),
@@ -638,7 +638,7 @@ mod test {
])
.unwrap();
- assert_eq!(service.characteristics[0].permissions, AttPermissions::WRITABLE);
+ assert_eq!(service.characteristics[0].permissions, AttPermissions::WRITABLE_WITH_RESPONSE);
}
#[test]
@@ -651,7 +651,7 @@ mod test {
assert_eq!(
service.characteristics[0].permissions,
- AttPermissions::READABLE | AttPermissions::WRITABLE
+ AttPermissions::READABLE | AttPermissions::WRITABLE_WITH_RESPONSE
);
}
@@ -684,10 +684,13 @@ mod test {
.unwrap();
assert_eq!(service.characteristics[0].descriptors[0].permissions, AttPermissions::READABLE);
- assert_eq!(service.characteristics[0].descriptors[1].permissions, AttPermissions::WRITABLE);
+ assert_eq!(
+ service.characteristics[0].descriptors[1].permissions,
+ AttPermissions::WRITABLE_WITH_RESPONSE
+ );
assert_eq!(
service.characteristics[0].descriptors[2].permissions,
- AttPermissions::READABLE | AttPermissions::WRITABLE
+ AttPermissions::READABLE | AttPermissions::WRITABLE_WITH_RESPONSE
);
}
diff --git a/system/rust/src/gatt/server/att_database.rs b/system/rust/src/gatt/server/att_database.rs
index 10274e896a..db2d731882 100644
--- a/system/rust/src/gatt/server/att_database.rs
+++ b/system/rust/src/gatt/server/att_database.rs
@@ -40,7 +40,7 @@ bitflags! {
/// Attribute can be written to using WRITE_CMD
const WRITABLE_WITHOUT_RESPONSE = 0x04;
/// Attribute can be written to using WRITE_REQ
- const WRITABLE = 0x08;
+ const WRITABLE_WITH_RESPONSE = 0x08;
/// Attribute value may be sent using indications
const INDICATE = 0x20;
}
@@ -52,8 +52,8 @@ impl AttPermissions {
self.contains(AttPermissions::READABLE)
}
/// Attribute can be written to using WRITE_REQ
- pub fn writable(&self) -> bool {
- self.contains(AttPermissions::WRITABLE)
+ pub fn writable_with_response(&self) -> bool {
+ self.contains(AttPermissions::WRITABLE_WITH_RESPONSE)
}
/// Attribute can be written to using WRITE_CMD
pub fn writable_without_response(&self) -> bool {
diff --git a/system/rust/src/gatt/server/gatt_database.rs b/system/rust/src/gatt/server/gatt_database.rs
index 7c0c34758a..7702d22f77 100644
--- a/system/rust/src/gatt/server/gatt_database.rs
+++ b/system/rust/src/gatt/server/gatt_database.rs
@@ -215,7 +215,7 @@ impl GattDatabase {
.permissions
.writable_without_response()
.into(),
- write: characteristic.permissions.writable().into(),
+ write: characteristic.permissions.writable_with_response().into(),
notify: 0,
indicate: characteristic.permissions.indicate().into(),
authenticated_signed_writes: 0,
@@ -399,7 +399,7 @@ impl AttDatabase for AttDatabaseImpl {
let Some(attr) = services.attributes.get(&handle) else {
return Err(AttErrorCode::INVALID_HANDLE);
};
- if !attr.attribute.permissions.writable() {
+ if !attr.attribute.permissions.writable_with_response() {
return Err(AttErrorCode::WRITE_NOT_PERMITTED);
}
Ok(attr.value.clone())
@@ -682,7 +682,7 @@ mod test {
handle: CHARACTERISTIC_VALUE_HANDLE,
type_: CHARACTERISTIC_TYPE,
permissions: AttPermissions::READABLE
- | AttPermissions::WRITABLE
+ | AttPermissions::WRITABLE_WITH_RESPONSE
| AttPermissions::INDICATE,
descriptors: vec![],
}],
@@ -712,7 +712,7 @@ mod test {
handle: CHARACTERISTIC_VALUE_HANDLE,
type_: CHARACTERISTIC_TYPE,
permissions: AttPermissions::READABLE
- | AttPermissions::WRITABLE
+ | AttPermissions::WRITABLE_WITH_RESPONSE
| AttPermissions::INDICATE
}
);
@@ -871,7 +871,7 @@ mod test {
characteristics: vec![GattCharacteristicWithHandle {
handle: SERVICE_HANDLE,
type_: CHARACTERISTIC_TYPE,
- permissions: AttPermissions::WRITABLE,
+ permissions: AttPermissions::WRITABLE_WITH_RESPONSE,
descriptors: vec![],
}],
},
@@ -923,7 +923,7 @@ mod test {
characteristics: vec![GattCharacteristicWithHandle {
handle: CHARACTERISTIC_VALUE_HANDLE,
type_: CHARACTERISTIC_TYPE,
- permissions: AttPermissions::WRITABLE,
+ permissions: AttPermissions::WRITABLE_WITH_RESPONSE,
descriptors: vec![],
}],
},
@@ -977,7 +977,7 @@ mod test {
characteristics: vec![GattCharacteristicWithHandle {
handle: CHARACTERISTIC_VALUE_HANDLE,
type_: CHARACTERISTIC_TYPE,
- permissions: AttPermissions::WRITABLE,
+ permissions: AttPermissions::WRITABLE_WITH_RESPONSE,
descriptors: vec![],
}],
},
@@ -1102,7 +1102,7 @@ mod test {
descriptors: vec![GattDescriptorWithHandle {
handle: DESCRIPTOR_HANDLE,
type_: DESCRIPTOR_TYPE,
- permissions: AttPermissions::WRITABLE,
+ permissions: AttPermissions::WRITABLE_WITH_RESPONSE,
}],
}],
},
@@ -1163,13 +1163,13 @@ mod test {
GattDescriptorWithHandle {
handle: AttHandle(7),
type_: DESCRIPTOR_TYPE,
- permissions: AttPermissions::WRITABLE,
+ permissions: AttPermissions::WRITABLE_WITH_RESPONSE,
},
GattDescriptorWithHandle {
handle: AttHandle(8),
type_: DESCRIPTOR_TYPE,
permissions: AttPermissions::READABLE
- | AttPermissions::WRITABLE,
+ | AttPermissions::WRITABLE_WITH_RESPONSE,
},
],
},
@@ -1198,8 +1198,11 @@ mod test {
assert_eq!(attributes[7].handle, AttHandle(8));
// assert: check the permissions of the descriptors are correct
assert_eq!(attributes[3].permissions, AttPermissions::READABLE);
- assert_eq!(attributes[6].permissions, AttPermissions::WRITABLE);
- assert_eq!(attributes[7].permissions, AttPermissions::READABLE | AttPermissions::WRITABLE);
+ assert_eq!(attributes[6].permissions, AttPermissions::WRITABLE_WITH_RESPONSE);
+ assert_eq!(
+ attributes[7].permissions,
+ AttPermissions::READABLE | AttPermissions::WRITABLE_WITH_RESPONSE
+ );
}
#[test]
@@ -1530,7 +1533,8 @@ mod test {
characteristics: vec![GattCharacteristicWithHandle {
handle: CHARACTERISTIC_VALUE_HANDLE,
type_: CHARACTERISTIC_TYPE,
- permissions: AttPermissions::READABLE | AttPermissions::WRITABLE,
+ permissions: AttPermissions::READABLE
+ | AttPermissions::WRITABLE_WITH_RESPONSE,
descriptors: vec![],
}],
},
diff --git a/system/rust/src/gatt/server/services/gatt.rs b/system/rust/src/gatt/server/services/gatt.rs
index 97fdefcfa6..eb3ba477db 100644
--- a/system/rust/src/gatt/server/services/gatt.rs
+++ b/system/rust/src/gatt/server/services/gatt.rs
@@ -164,7 +164,7 @@ pub fn register_gatt_service(database: &mut GattDatabase) -> Result<()> {
descriptors: vec![GattDescriptorWithHandle {
handle: SERVICE_CHANGE_CCC_DESCRIPTOR_HANDLE,
type_: CLIENT_CHARACTERISTIC_CONFIGURATION_UUID,
- permissions: AttPermissions::READABLE | AttPermissions::WRITABLE,
+ permissions: AttPermissions::READABLE | AttPermissions::WRITABLE_WITH_RESPONSE,
}],
}],
},
@@ -245,7 +245,10 @@ mod test {
assert_eq!(attrs[3].type_, CLIENT_CHARACTERISTIC_CONFIGURATION_UUID);
// assert: permissions of value attrs are correct
assert_eq!(attrs[2].permissions, AttPermissions::INDICATE);
- assert_eq!(attrs[3].permissions, AttPermissions::READABLE | AttPermissions::WRITABLE);
+ assert_eq!(
+ attrs[3].permissions,
+ AttPermissions::READABLE | AttPermissions::WRITABLE_WITH_RESPONSE
+ );
}
#[test]
diff --git a/system/rust/src/gatt/server/test/test_att_db.rs b/system/rust/src/gatt/server/test/test_att_db.rs
index 20642b3a8b..45b82dcfa9 100644
--- a/system/rust/src/gatt/server/test/test_att_db.rs
+++ b/system/rust/src/gatt/server/test/test_att_db.rs
@@ -62,7 +62,7 @@ impl AttDatabase for TestAttDatabase {
) -> Result<(), AttErrorCode> {
match self.attributes.get(&handle) {
Some(TestAttributeWithData { attribute: AttAttribute { permissions, .. }, .. })
- if !permissions.writable() =>
+ if !permissions.writable_with_response() =>
{
Err(AttErrorCode::WRITE_NOT_PERMITTED)
}
@@ -78,7 +78,7 @@ impl AttDatabase for TestAttDatabase {
Some(TestAttributeWithData {
attribute: AttAttribute { permissions, .. },
data: data_cell,
- }) if !permissions.writable() => {
+ }) if !permissions.writable_with_response() => {
data_cell.replace(data.get_raw_payload().collect());
}
_ => {
diff --git a/system/rust/src/gatt/server/transactions/write_request.rs b/system/rust/src/gatt/server/transactions/write_request.rs
index a82b88eeac..325b9b7373 100644
--- a/system/rust/src/gatt/server/transactions/write_request.rs
+++ b/system/rust/src/gatt/server/transactions/write_request.rs
@@ -51,7 +51,7 @@ mod test {
AttAttribute {
handle: AttHandle(1),
type_: Uuid::new(0x1234),
- permissions: AttPermissions::READABLE | AttPermissions::WRITABLE,
+ permissions: AttPermissions::READABLE | AttPermissions::WRITABLE_WITH_RESPONSE,
},
vec![],
)]);
diff --git a/system/rust/tests/gatt_server_test.rs b/system/rust/tests/gatt_server_test.rs
index f5f1068911..5914ed8d19 100644
--- a/system/rust/tests/gatt_server_test.rs
+++ b/system/rust/tests/gatt_server_test.rs
@@ -87,12 +87,12 @@ fn create_server_and_open_connection(
handle: CHARACTERISTIC_HANDLE,
type_: CHARACTERISTIC_TYPE,
permissions: AttPermissions::READABLE
- | AttPermissions::WRITABLE
+ | AttPermissions::WRITABLE_WITH_RESPONSE
| AttPermissions::INDICATE,
descriptors: vec![GattDescriptorWithHandle {
handle: DESCRIPTOR_HANDLE,
type_: DESCRIPTOR_TYPE,
- permissions: AttPermissions::READABLE | AttPermissions::WRITABLE,
+ permissions: AttPermissions::READABLE | AttPermissions::WRITABLE_WITH_RESPONSE,
}],
}],
},