Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(231)

Unified Diff: mojo/public/java/bindings/src/org/chromium/mojo/bindings/Connector.java

Issue 1057213003: Java: Introduce ResultAnd<> and use it. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mojo/public/java/bindings/src/org/chromium/mojo/bindings/Connector.java
diff --git a/mojo/public/java/bindings/src/org/chromium/mojo/bindings/Connector.java b/mojo/public/java/bindings/src/org/chromium/mojo/bindings/Connector.java
index 06c627923a68039f89dfdffaf934b489a0997bc1..1d2404b9069e03037eaf83d779a9c18379bb5601 100644
--- a/mojo/public/java/bindings/src/org/chromium/mojo/bindings/Connector.java
+++ b/mojo/public/java/bindings/src/org/chromium/mojo/bindings/Connector.java
@@ -10,6 +10,7 @@ import org.chromium.mojo.system.MessagePipeHandle;
import org.chromium.mojo.system.MessagePipeHandle.ReadMessageResult;
import org.chromium.mojo.system.MojoException;
import org.chromium.mojo.system.MojoResult;
+import org.chromium.mojo.system.ResultAnd;
import java.nio.ByteBuffer;
@@ -227,15 +228,18 @@ public class Connector implements MessageReceiver, HandleOwner<MessagePipeHandle
*/
static int readAndDispatchMessage(MessagePipeHandle handle, MessageReceiver receiver) {
// TODO(qsr) Allow usage of a pool of pre-allocated buffer for performance.
- ReadMessageResult result = handle.readMessage(null, 0, MessagePipeHandle.ReadFlags.NONE);
+ ResultAnd<ReadMessageResult> result =
+ handle.readMessage(null, 0, MessagePipeHandle.ReadFlags.NONE);
if (result.getMojoResult() != MojoResult.RESOURCE_EXHAUSTED) {
return result.getMojoResult();
}
- ByteBuffer buffer = ByteBuffer.allocateDirect(result.getMessageSize());
- result = handle.readMessage(buffer, result.getHandlesCount(),
- MessagePipeHandle.ReadFlags.NONE);
+ ReadMessageResult readResult = result.getValue();
+ assert readResult != null;
+ ByteBuffer buffer = ByteBuffer.allocateDirect(readResult.getMessageSize());
+ result = handle.readMessage(
+ buffer, readResult.getHandlesCount(), MessagePipeHandle.ReadFlags.NONE);
if (receiver != null && result.getMojoResult() == MojoResult.OK) {
- receiver.accept(new Message(buffer, result.getHandles()));
+ receiver.accept(new Message(buffer, result.getValue().getHandles()));
}
return result.getMojoResult();
}

Powered by Google App Engine
This is Rietveld 408576698