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))
Exemple #2
0
 def testExtractSubprotocolAckIncompleteData(self, binary_data,
                                             expected_error):
     with self.AssertRaisesExceptionMatches(expected_error, ''):
         utils.ExtractSubprotocolAck(binary_data)
Exemple #3
0
 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)