mirror of
https://github.com/google/bumble.git
synced 2026-05-09 04:08:02 +00:00
only use __bytes__ when not argument is needed.
This commit is contained in:
@@ -1496,14 +1496,11 @@ class CodingFormat:
|
||||
def from_bytes(cls, data: bytes) -> CodingFormat:
|
||||
return cls.parse_from_bytes(data, 0)[1]
|
||||
|
||||
def to_bytes(self) -> bytes:
|
||||
def __bytes__(self) -> bytes:
|
||||
return struct.pack(
|
||||
'<BHH', self.codec_id, self.company_id, self.vendor_specific_codec_id
|
||||
)
|
||||
|
||||
def __bytes__(self) -> bytes:
|
||||
return self.to_bytes()
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
class HCI_Constant:
|
||||
@@ -1720,7 +1717,7 @@ class HCI_Object:
|
||||
field_length = len(field_bytes)
|
||||
field_bytes = bytes([field_length]) + field_bytes
|
||||
elif isinstance(field_value, (bytes, bytearray)) or hasattr(
|
||||
field_value, 'to_bytes'
|
||||
field_value, '__bytes__'
|
||||
):
|
||||
field_bytes = bytes(field_value)
|
||||
if isinstance(field_type, int) and 4 < field_type <= 256:
|
||||
@@ -1765,7 +1762,7 @@ class HCI_Object:
|
||||
def from_bytes(cls, data, offset, fields):
|
||||
return cls(fields, **cls.dict_from_bytes(data, offset, fields))
|
||||
|
||||
def to_bytes(self):
|
||||
def __bytes__(self):
|
||||
return HCI_Object.dict_to_bytes(self.__dict__, self.fields)
|
||||
|
||||
@staticmethod
|
||||
@@ -1860,9 +1857,6 @@ class HCI_Object:
|
||||
for field_name, field_value in field_strings
|
||||
)
|
||||
|
||||
def __bytes__(self):
|
||||
return self.to_bytes()
|
||||
|
||||
def __init__(self, fields, **kwargs):
|
||||
self.fields = fields
|
||||
self.init_from_fields(self, fields, kwargs)
|
||||
@@ -2037,9 +2031,6 @@ class Address:
|
||||
def is_static(self):
|
||||
return self.is_random and (self.address_bytes[5] >> 6 == 3)
|
||||
|
||||
def to_bytes(self):
|
||||
return self.address_bytes
|
||||
|
||||
def to_string(self, with_type_qualifier=True):
|
||||
'''
|
||||
String representation of the address, MSB first, with an optional type
|
||||
@@ -2051,7 +2042,7 @@ class Address:
|
||||
return result + '/P'
|
||||
|
||||
def __bytes__(self):
|
||||
return self.to_bytes()
|
||||
return self.address_bytes
|
||||
|
||||
def __hash__(self):
|
||||
return hash(self.address_bytes)
|
||||
@@ -2257,16 +2248,13 @@ class HCI_Command(HCI_Packet):
|
||||
self.op_code = op_code
|
||||
self.parameters = parameters
|
||||
|
||||
def to_bytes(self):
|
||||
def __bytes__(self):
|
||||
parameters = b'' if self.parameters is None else self.parameters
|
||||
return (
|
||||
struct.pack('<BHB', HCI_COMMAND_PACKET, self.op_code, len(parameters))
|
||||
+ parameters
|
||||
)
|
||||
|
||||
def __bytes__(self):
|
||||
return self.to_bytes()
|
||||
|
||||
def __str__(self):
|
||||
result = color(self.name, 'green')
|
||||
if fields := getattr(self, 'fields', None):
|
||||
@@ -5190,13 +5178,10 @@ class HCI_Event(HCI_Packet):
|
||||
self.event_code = event_code
|
||||
self.parameters = parameters
|
||||
|
||||
def to_bytes(self):
|
||||
def __bytes__(self):
|
||||
parameters = b'' if self.parameters is None else self.parameters
|
||||
return bytes([HCI_EVENT_PACKET, self.event_code, len(parameters)]) + parameters
|
||||
|
||||
def __bytes__(self):
|
||||
return self.to_bytes()
|
||||
|
||||
def __str__(self):
|
||||
result = color(self.name, 'magenta')
|
||||
if fields := getattr(self, 'fields', None):
|
||||
@@ -6747,7 +6732,7 @@ class HCI_AclDataPacket(HCI_Packet):
|
||||
connection_handle, pb_flag, bc_flag, data_total_length, data
|
||||
)
|
||||
|
||||
def to_bytes(self):
|
||||
def __bytes__(self):
|
||||
h = (self.pb_flag << 12) | (self.bc_flag << 14) | self.connection_handle
|
||||
return (
|
||||
struct.pack('<BHH', HCI_ACL_DATA_PACKET, h, self.data_total_length)
|
||||
@@ -6761,9 +6746,6 @@ class HCI_AclDataPacket(HCI_Packet):
|
||||
self.data_total_length = data_total_length
|
||||
self.data = data
|
||||
|
||||
def __bytes__(self):
|
||||
return self.to_bytes()
|
||||
|
||||
def __str__(self):
|
||||
return (
|
||||
f'{color("ACL", "blue")}: '
|
||||
@@ -6797,7 +6779,7 @@ class HCI_SynchronousDataPacket(HCI_Packet):
|
||||
connection_handle, packet_status, data_total_length, data
|
||||
)
|
||||
|
||||
def to_bytes(self) -> bytes:
|
||||
def __bytes__(self) -> bytes:
|
||||
h = (self.packet_status << 12) | self.connection_handle
|
||||
return (
|
||||
struct.pack('<BHB', HCI_SYNCHRONOUS_DATA_PACKET, h, self.data_total_length)
|
||||
@@ -6816,9 +6798,6 @@ class HCI_SynchronousDataPacket(HCI_Packet):
|
||||
self.data_total_length = data_total_length
|
||||
self.data = data
|
||||
|
||||
def __bytes__(self) -> bytes:
|
||||
return self.to_bytes()
|
||||
|
||||
def __str__(self) -> str:
|
||||
return (
|
||||
f'{color("SCO", "blue")}: '
|
||||
@@ -6891,9 +6870,6 @@ class HCI_IsoDataPacket(HCI_Packet):
|
||||
)
|
||||
|
||||
def __bytes__(self) -> bytes:
|
||||
return self.to_bytes()
|
||||
|
||||
def to_bytes(self) -> bytes:
|
||||
fmt = '<BHH'
|
||||
args = [
|
||||
HCI_ISO_DATA_PACKET,
|
||||
|
||||
Reference in New Issue
Block a user