| OLD | NEW |
| 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 Interface extends core.MojoEventStreamListener { | 7 abstract class Interface extends core.MojoEventStreamListener { |
| 8 int _outstandingResponseFutures = 0; | 8 int _outstandingResponseFutures = 0; |
| 9 bool _isClosing = false; | 9 bool _isClosing = false; |
| 10 | 10 |
| 11 Interface(core.MojoMessagePipeEndpoint endpoint) : super(endpoint); | 11 Interface(core.MojoMessagePipeEndpoint endpoint) : super(endpoint); |
| 12 | 12 |
| 13 Interface.fromHandle(int handle) : super.fromHandle(handle); | 13 Interface.fromHandle(core.MojoHandle handle) : super.fromHandle(handle); |
| 14 |
| 15 Interface.unbound() : super.unbound(); |
| 14 | 16 |
| 15 Future<Message> handleMessage(ServiceMessage message); | 17 Future<Message> handleMessage(ServiceMessage message); |
| 16 | 18 |
| 17 void handleRead() { | 19 void handleRead() { |
| 18 // Query how many bytes are available. | 20 // Query how many bytes are available. |
| 19 var result = endpoint.query(); | 21 var result = endpoint.query(); |
| 20 assert(result.status.isOk || result.status.isResourceExhausted); | 22 assert(result.status.isOk || result.status.isResourceExhausted); |
| 21 | 23 |
| 22 // Read the data and view as a message. | 24 // Read the data and view as a message. |
| 23 var bytes = new ByteData(result.bytesRead); | 25 var bytes = new ByteData(result.bytesRead); |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 return response.serializeWithHeader(header); | 86 return response.serializeWithHeader(header); |
| 85 } | 87 } |
| 86 | 88 |
| 87 void sendMessage(Struct message, int name) { | 89 void sendMessage(Struct message, int name) { |
| 88 var header = new MessageHeader(name); | 90 var header = new MessageHeader(name); |
| 89 var serviceMessage = message.serializeWithHeader(header); | 91 var serviceMessage = message.serializeWithHeader(header); |
| 90 endpoint.write(serviceMessage.buffer, | 92 endpoint.write(serviceMessage.buffer, |
| 91 serviceMessage.buffer.lengthInBytes, | 93 serviceMessage.buffer.lengthInBytes, |
| 92 serviceMessage.handles); | 94 serviceMessage.handles); |
| 93 if (!endpoint.status.isOk) { | 95 if (!endpoint.status.isOk) { |
| 94 throw "message pipe write failed"; | 96 throw "message pipe write failed: ${endpoint.status}"; |
| 95 } | 97 } |
| 96 } | 98 } |
| 97 | 99 |
| 98 Future sendMessageWithRequestId(Struct response, int name, int id) { | 100 Future sendMessageWithRequestId(Struct response, int name, int id) { |
| 99 throw "The client interface should not expect a response"; | 101 throw "The client interface should not expect a response"; |
| 100 } | 102 } |
| 101 } | 103 } |
| OLD | NEW |