def _HandleSubprotocolAck(self, binary_data): """Handle Subprotocol ACK Frame.""" if not self._HasConnected(): self._StopConnectionAsync() raise SubprotocolEarlyAckError('Received ACK before connected.') bytes_confirmed, bytes_left = utils.ExtractSubprotocolAck(binary_data) self._ConfirmData(bytes_confirmed) if bytes_left: log.debug('Discarding [%d] extra bytes after processing ACK', len(bytes_left))
def testExtractSubprotocolAckIncompleteData(self, binary_data, expected_error): with self.AssertRaisesExceptionMatches(expected_error, ''): utils.ExtractSubprotocolAck(binary_data)
def testExtractSubprotocolAck(self, binary_data, expected_data, expected_bytes_left): data, bytes_left = utils.ExtractSubprotocolAck(binary_data) self.assertEqual(data, expected_data) self.assertEqual(bytes_left, expected_bytes_left)