NehanPathan commented on code in PR #1170:
URL: https://github.com/apache/lucenenet/pull/1170#discussion_r2301609675
##########
src/Lucene.Net.Replicator/SessionToken.cs:
##########
@@ -112,6 +114,33 @@ public void Serialize(DataOutputStream writer)
}
}
+ /// <summary>
+ /// Asynchronously serialize the token data for communication between
server and client.
+ /// </summary>
+ /// <param name="output">The <see cref="Stream"/> to write the token
data to.</param>
+ /// <param name="cancellationToken">A cancellation token to observe
while waiting for the flush to complete.</param>
+ /// <returns>A task representing the asynchronous operation.</returns>
+ public async Task SerializeAsync(Stream output, CancellationToken
cancellationToken = default)
+ {
+ using var writer = new DataOutputStream(output);
+ writer.WriteUTF(Id);
Review Comment:
@paulirwin @NightOwl888
Testing is complete — integrated your proposed async methods
(WriteUTFAsync, WriteInt32Async, WriteInt64Async) directly into
SessionToken.SerializeAsync as private static helpers instead of using
DataOutputStream.
With this change, the replication now works correctly without
AllowSynchronousIO = true. End-to-end replication runs without
EndOfStreamException or blocking issues.
We can safely proceed without touching the synchronous WriteUTF and related
methods in J2N for now.
Do you want me to finalize the PR with this change?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]