def parseData(self, stream: BytesIO, header): header = self.parseShareDataHeader(stream, header) if header.subtype not in self.dataParsers: return SlowPathUnparsedPDU(header, stream.read()) return self.dataParsers[header.subtype](stream, header)
def doParse(self, data: bytes) -> PDU: """ Decode a data PDU from bytes. :return: an instance of an RDP Data PDU class. """ stream = BytesIO(data) header = self.parseShareControlHeader(stream) if header.pduType not in self.parsers: return SlowPathUnparsedPDU(header, stream.read()) return self.parsers[header.pduType](stream, header)