             }
 
             func didSendRequestPart(task: HTTPClient.Task<Response>, _ part: IOData) {
-                _ = self.bytesTheClientSent.add(part.readableBytes)
+                self.bytesTheClientSent.wrappingIncrement(by: part.readableBytes, ordering: .relaxed)
             }
         }
 

            }
        }

        XCTAssertEqual(1, numberOfTimesTheServerGotOfferedBytes.load())
        XCTAssertGreaterThan(tenMB.readableBytes, bytesTheServerSaw.load())
        XCTAssertGreaterThan(tenMB.readableBytes, bytesTheClientSent.load())
        XCTAssertEqual(0, bytesTheClientSent.load()) // We'd only see this if we sent the full 10 MB.
        XCTAssertFalse(serverSawEnd.load())
        XCTAssertTrue(serverSawRequest.load())

        allDonePromise.succeed(())
    }

        final class ResponseDelegate: HTTPClientResponseDelegate {
            typealias Response = Void

            private let bytesTheClientSent: ManagedAtomic<Int>

            init(bytesTheClientSent: ManagedAtomic<Int>) {
                self.bytesTheClientSent = bytesTheClientSent
            }

