diff options
Diffstat (limited to 'pw_transfer')
-rw-r--r-- | pw_transfer/integration_test/cross_language_medium_read_test.py | 9 | ||||
-rw-r--r-- | pw_transfer/py/pw_transfer/transfer.py | 9 |
2 files changed, 7 insertions, 11 deletions
diff --git a/pw_transfer/integration_test/cross_language_medium_read_test.py b/pw_transfer/integration_test/cross_language_medium_read_test.py index 5d74d49e2..8899d8f78 100644 --- a/pw_transfer/integration_test/cross_language_medium_read_test.py +++ b/pw_transfer/integration_test/cross_language_medium_read_test.py @@ -118,15 +118,6 @@ class MediumTransferReadIntegrationTest(test_fixture.TransferIntegrationTest): @parameterized.expand(_ALL_LANGUAGES_AND_VERSIONS) def test_parameter_drop_client_read(self, client_type, protocol_version): """Drops the first few transfer initialization packets.""" - # TODO(b/257308150): Python v2 breaks and the transfer fails on this - # test. - if ( - client_type == "python" - and protocol_version == config_pb2.TransferAction.ProtocolVersion.V2 - ): - self.skipTest( - "This test fails when using v2 protocol with a Python client" - ) payload = random.Random(67336391945).randbytes(1234) config = TransferConfig( self.default_server_config(), diff --git a/pw_transfer/py/pw_transfer/transfer.py b/pw_transfer/py/pw_transfer/transfer.py index b6479081c..11dc55636 100644 --- a/pw_transfer/py/pw_transfer/transfer.py +++ b/pw_transfer/py/pw_transfer/transfer.py @@ -353,10 +353,15 @@ class Transfer(abc.ABC): self._max_retries, ) - if self._state in ( + retry_handshake_chunk = self._state in ( Transfer._State.INITIATING, Transfer._State.TERMINATING, - ): + ) or ( + self._last_chunk is not None + and self._last_chunk.type is Chunk.Type.START_ACK_CONFIRMATION + ) + + if retry_handshake_chunk: assert self._last_chunk is not None self._send_chunk(self._last_chunk) else: |