| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library json_rpc_2.two_way_stream; | |
| 6 | |
| 7 import 'dart:async'; | 5 import 'dart:async'; |
| 8 import 'dart:convert'; | 6 import 'dart:convert'; |
| 9 | 7 |
| 10 import 'utils.dart'; | 8 import 'utils.dart'; |
| 11 | 9 |
| 12 /// A class for managing a stream of input messages and a sink for output | 10 /// A class for managing a stream of input messages and a sink for output |
| 13 /// messages. | 11 /// messages. |
| 14 /// | 12 /// |
| 15 /// This contains stream logic that's shared between [Server] and [Client]. | 13 /// This contains stream logic that's shared between [Server] and [Client]. |
| 16 class TwoWayStream { | 14 class TwoWayStream { |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 | 126 |
| 129 if (!_doneCompleter.isCompleted) _doneCompleter.complete(); | 127 if (!_doneCompleter.isCompleted) _doneCompleter.complete(); |
| 130 | 128 |
| 131 var inputFuture = _inputSubscription.cancel(); | 129 var inputFuture = _inputSubscription.cancel(); |
| 132 // TODO(nweiz): include the output future in the return value when issue | 130 // TODO(nweiz): include the output future in the return value when issue |
| 133 // 19095 is fixed. | 131 // 19095 is fixed. |
| 134 _output.close(); | 132 _output.close(); |
| 135 return inputFuture == null ? new Future.value() : inputFuture; | 133 return inputFuture == null ? new Future.value() : inputFuture; |
| 136 } | 134 } |
| 137 } | 135 } |
| OLD | NEW |