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

Unified Diff: mojo/public/dart/mojo/sdk_ext/src/wait_many_state.dart

Issue 1441033002: Move mojo and mojom from mojo/public/dart to mojo/dart/packages (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 1 month 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
« no previous file with comments | « mojo/public/dart/mojo/sdk_ext/src/timer_queue.dart ('k') | mojo/public/dart/mojom/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/public/dart/mojo/sdk_ext/src/wait_many_state.dart
diff --git a/mojo/public/dart/mojo/sdk_ext/src/wait_many_state.dart b/mojo/public/dart/mojo/sdk_ext/src/wait_many_state.dart
deleted file mode 100644
index f76d3ee0b886faa8710759dfc2bc9cbffd8076a7..0000000000000000000000000000000000000000
--- a/mojo/public/dart/mojo/sdk_ext/src/wait_many_state.dart
+++ /dev/null
@@ -1,108 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-part of internal;
-
-class WaitManyState {
- static const int _GROWTH_SIZE = 100;
- Uint32List _handles;
- Uint32List _signals;
- Uint32List _outIndex;
- Uint64List _outSignals;
-
- // A port for each handle on which to send events back to the isolate that
- // owns the handle.
- List<SendPort> _ports;
-
- // A mapping from Mojo handles to their indices in _handles.
- Map<int, int> _handleIndices;
-
- int _occupied;
-
- WaitManyState() {
- _ports = [];
- _handleIndices = new Map<int, int>();
- _occupied = 0;
- _grow();
- }
-
- int get length => _occupied;
- Uint32List get handles => _handles;
- Uint32List get signals => _signals;
- List<SendPort> get ports => _ports;
- Map<int, int> get handleIndices => _handleIndices;
-
- // Output of calls to waitMany.
- int mojoResult;
- int get outIndex => _outIndex[0];
- int outSignals(int idx) =>
- _outSignals[idx] & MojoHandleWatcher.kMojoSignalsAll;
-
- void waitMany(int deadline) {
- mojoResult = MojoHandleWatcherNatives.waitMany(_occupied, deadline);
- }
-
- void add(int handle, int signals, SendPort port) {
- if (_occupied == _handles.length) {
- _grow();
- }
- _handleIndices[handle] = _occupied;
- _handles[_occupied] = handle;
- _signals[_occupied] = signals;
- _ports[_occupied] = port;
- _occupied++;
- }
-
- void removeLast() {
- int lastIndex = _occupied - 1;
- int handle = _handles[lastIndex];
- _handleIndices.remove(handle);
- _handles[lastIndex] = 0;
- _signals[lastIndex] = 0;
- _ports[lastIndex] = null;
- _occupied--;
- }
-
- void remove(int idx) {
- if (idx == (_occupied - 1)) {
- removeLast();
- return;
- }
- // Copy the last element over the one being removed.
- int last = _occupied - 1;
- _handleIndices.remove(_handles[idx]);
- _handles[idx] = _handles[last];
- _signals[idx] = _signals[last];
- _ports[idx] = _ports[last];
-
- // Remove the old copy.
- removeLast();
- _handleIndices[_handles[idx]] = idx;
- }
-
- void _grow() {
- int newSize = _occupied + _GROWTH_SIZE;
- List newArrays =
- MojoHandleWatcherNatives.growStateArrays(_occupied + _GROWTH_SIZE);
- _handles = newArrays[0];
- _signals = newArrays[1];
- _outIndex = newArrays[2];
- _outSignals = newArrays[3];
- _ports.length = _handles.length;
- }
-
- String toString() {
- String hands = "";
- String sigs = "";
- for (int i = 0; i < _occupied; i++) {
- hands = "$hands ${_handles[i]}";
- sigs = "$sigs ${_outSignals[i] & _signals[i]}";
- }
- return "length: $_occupied\n"
- "status: $mojoResult\n"
- "index: $outIndex\n"
- "handles: $hands\n"
- "signals: $sigs\n";
- }
-}
« no previous file with comments | « mojo/public/dart/mojo/sdk_ext/src/timer_queue.dart ('k') | mojo/public/dart/mojom/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698