MTU size check added

This commit is contained in:
dhavan
2023-11-23 05:02:16 +00:00
parent 488bcfe9c6
commit dc18595c8a

View File

@@ -383,6 +383,10 @@ class Device(HID):
def __init__(self, device: Device) -> None: def __init__(self, device: Device) -> None:
super().__init__(device, HID.Role.DEVICE) super().__init__(device, HID.Role.DEVICE)
self.get_report_cb = None
self.set_report_cb = None
self.get_protocol_cb = None
self.set_protocol_cb = None
def send_handshake_message(self, result_code: int) -> None: def send_handshake_message(self, result_code: int) -> None:
msg = SendHandshakeMessage(result_code) msg = SendHandshakeMessage(result_code)
@@ -416,9 +420,11 @@ class Device(HID):
data = bytearray() data = bytearray()
data.append(report_id) data.append(report_id)
data.extend(ret.data) data.extend(ret.data)
#TODO Check the data size and MTU size here and only then send out if(len(data)<self.l2cap_ctrl_channel.mtu):
#the message self.send_control_data(report_type=report_type, data = data)
self.send_control_data(report_type=report_type, data = data) else:
self.send_handshake_message(Message.Handshake.ERR_INVALID_PARAMETER)
elif(ret.status == self.GetSetReturn.REPORT_ID_NOT_FOUND): elif(ret.status == self.GetSetReturn.REPORT_ID_NOT_FOUND):
self.send_handshake_message(Message.Handshake.ERR_INVALID_REPORT_ID) self.send_handshake_message(Message.Handshake.ERR_INVALID_REPORT_ID)
elif(ret.status == self.GetSetReturn.ERR_UNSUPPORTED_REQUEST): elif(ret.status == self.GetSetReturn.ERR_UNSUPPORTED_REQUEST):