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

Side by Side Diff: mojo/public/dart/src/client.dart

Issue 795593004: Update mojo sdk to rev cc531b32182099a5a034a99daff35ed5d38a61c8 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: More workarounds for MSVC Created 5 years, 11 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 unified diff | Download patch
« no previous file with comments | « mojo/public/cpp/utility/tests/BUILD.gn ('k') | mojo/public/dart/src/codec.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 part of bindings; 5 part of bindings;
6 6
7 abstract class Client { 7 abstract class Client {
8 core.MojoMessagePipeEndpoint _endpoint; 8 core.MojoMessagePipeEndpoint _endpoint;
9 core.MojoHandle _handle; 9 core.MojoHandle _handle;
10 List _sendQueue; 10 List _sendQueue;
(...skipping 28 matching lines...) Expand all
39 throw new Exception("message pipe read failed: ${result.status}"); 39 throw new Exception("message pipe read failed: ${result.status}");
40 } 40 }
41 var message = new Message(bytes, handles); 41 var message = new Message(bytes, handles);
42 var reader = new MessageReader(message); 42 var reader = new MessageReader(message);
43 43
44 handleResponse(reader); 44 handleResponse(reader);
45 } 45 }
46 if (core.MojoHandleSignals.isWritable(mojoSignal)) { 46 if (core.MojoHandleSignals.isWritable(mojoSignal)) {
47 if (_sendQueue.length > 0) { 47 if (_sendQueue.length > 0) {
48 List messageCompleter = _sendQueue.removeAt(0); 48 List messageCompleter = _sendQueue.removeAt(0);
49 _endpoint.write(messageCompleter[0].buffer); 49 _endpoint.write(messageCompleter[0].buffer,
50 messageCompleter[0].buffer.lengthInBytes,
51 messageCompleter[0].handles);
50 if (!_endpoint.status.isOk) { 52 if (!_endpoint.status.isOk) {
51 throw new Exception("message pipe write failed"); 53 throw new Exception("message pipe write failed");
52 } 54 }
53 if (messageCompleter[1] != null) { 55 if (messageCompleter[1] != null) {
54 _completerQueue.add(messageCompleter[1]); 56 _completerQueue.add(messageCompleter[1]);
55 } 57 }
56 } 58 }
57 if ((_sendQueue.length == 0) && _handle.writeEnabled()) { 59 if ((_sendQueue.length == 0) && _handle.writeEnabled()) {
58 _handle.disableWriteEvents(); 60 _handle.disableWriteEvents();
59 } 61 }
(...skipping 11 matching lines...) Expand all
71 assert(isOpen); 73 assert(isOpen);
72 _handle.close(); 74 _handle.close();
73 _isOpen = false; 75 _isOpen = false;
74 } 76 }
75 77
76 void enqueueMessage(Type t, int name, Object msg) { 78 void enqueueMessage(Type t, int name, Object msg) {
77 var builder = new MessageBuilder(name, align(getEncodedSize(t))); 79 var builder = new MessageBuilder(name, align(getEncodedSize(t)));
78 builder.encodeStruct(t, msg); 80 builder.encodeStruct(t, msg);
79 var message = builder.finish(); 81 var message = builder.finish();
80 _sendQueue.add([message, null]); 82 _sendQueue.add([message, null]);
81 if ((_sendQueue.length > 0) && !_handle.writeEnabled()) { 83 if (!_handle.writeEnabled()) {
82 _handle.enableWriteEvents(); 84 _handle.enableWriteEvents();
83 } 85 }
84 } 86 }
85 87
86 Future enqueueMessageWithRequestID(Type t, int name, int id, Object msg) { 88 Future enqueueMessageWithRequestID(
89 Type t, int name, int id, int flags, Object msg) {
87 var builder = new MessageWithRequestIDBuilder( 90 var builder = new MessageWithRequestIDBuilder(
88 name, align(getEncodedSize(t)), id); 91 name, align(getEncodedSize(t)), id, flags);
89 builder.encodeStruct(t, msg); 92 builder.encodeStruct(t, msg);
90 var message = builder.finish(); 93 var message = builder.finish();
91 94
92 var completer = new Completer(); 95 var completer = new Completer();
93 _sendQueue.add([message, completer]); 96 _sendQueue.add([message, completer]);
94 if ((_sendQueue.length > 0) && !_handle.writeEnabled()) { 97 if (!_handle.writeEnabled()) {
95 _handle.enableWriteEvents(); 98 _handle.enableWriteEvents();
96 } 99 }
97 return completer.future; 100 return completer.future;
98 } 101 }
99 102
100 // Need a getter for this for access in subclasses. 103 // Need a getter for this for access in subclasses.
101 List get completerQueue => _completerQueue; 104 List get completerQueue => _completerQueue;
102 bool get isOpen => _isOpen; 105 bool get isOpen => _isOpen;
103 } 106 }
OLDNEW
« no previous file with comments | « mojo/public/cpp/utility/tests/BUILD.gn ('k') | mojo/public/dart/src/codec.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698