Index: mojo/public/dart/src/client.dart |
diff --git a/mojo/public/dart/src/client.dart b/mojo/public/dart/src/client.dart |
index 274fa478ac2b6855b02575ac313a663a51ba379c..956a6525d6dc7e10331b57aa2e84f8d8209c48b9 100644 |
--- a/mojo/public/dart/src/client.dart |
+++ b/mojo/public/dart/src/client.dart |
@@ -46,7 +46,9 @@ abstract class Client { |
if (core.MojoHandleSignals.isWritable(mojoSignal)) { |
if (_sendQueue.length > 0) { |
List messageCompleter = _sendQueue.removeAt(0); |
- _endpoint.write(messageCompleter[0].buffer); |
+ _endpoint.write(messageCompleter[0].buffer, |
+ messageCompleter[0].buffer.lengthInBytes, |
+ messageCompleter[0].handles); |
if (!_endpoint.status.isOk) { |
throw new Exception("message pipe write failed"); |
} |
@@ -78,20 +80,21 @@ abstract class Client { |
builder.encodeStruct(t, msg); |
var message = builder.finish(); |
_sendQueue.add([message, null]); |
- if ((_sendQueue.length > 0) && !_handle.writeEnabled()) { |
+ if (!_handle.writeEnabled()) { |
_handle.enableWriteEvents(); |
} |
} |
- Future enqueueMessageWithRequestID(Type t, int name, int id, Object msg) { |
+ Future enqueueMessageWithRequestID( |
+ Type t, int name, int id, int flags, Object msg) { |
var builder = new MessageWithRequestIDBuilder( |
- name, align(getEncodedSize(t)), id); |
+ name, align(getEncodedSize(t)), id, flags); |
builder.encodeStruct(t, msg); |
var message = builder.finish(); |
var completer = new Completer(); |
_sendQueue.add([message, completer]); |
- if ((_sendQueue.length > 0) && !_handle.writeEnabled()) { |
+ if (!_handle.writeEnabled()) { |
_handle.enableWriteEvents(); |
} |
return completer.future; |