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 internal; | 5 part of internal; |
6 | 6 |
7 // The MojoHandleWatcher sends a stream of events to application isolates that | 7 // The MojoHandleWatcher sends a stream of events to application isolates that |
8 // register Mojo handles with it. Application isolates make the following calls: | 8 // register Mojo handles with it. Application isolates make the following calls: |
9 // | 9 // |
10 // add(handle, port, signals) - Instructs the MojoHandleWatcher isolate to add | 10 // add(handle, port, signals) - Instructs the MojoHandleWatcher isolate to add |
(...skipping 12 matching lines...) Expand all Loading... |
23 static const int ADD = 0; | 23 static const int ADD = 0; |
24 static const int REMOVE = 1; | 24 static const int REMOVE = 1; |
25 static const int CLOSE = 2; | 25 static const int CLOSE = 2; |
26 static const int TIMER = 3; | 26 static const int TIMER = 3; |
27 static const int SHUTDOWN = 4; | 27 static const int SHUTDOWN = 4; |
28 | 28 |
29 static const int kMojoHandleInvalid = 0; | 29 static const int kMojoHandleInvalid = 0; |
30 static const int kDeadlineIndefinite = -1; | 30 static const int kDeadlineIndefinite = -1; |
31 | 31 |
32 static const int kMojoResultOk = 0; | 32 static const int kMojoResultOk = 0; |
33 static const int kMojoResultDeadlineExceeded = -4; | 33 static const int kMojoResultDeadlineExceeded = 4; |
34 static const int kMojoResultFailedPrecondition = -9; | 34 static const int kMojoResultFailedPrecondition = 9; |
35 | 35 |
36 static const int kMojoSignalsReadable = (1 << 0); | 36 static const int kMojoSignalsReadable = (1 << 0); |
37 static const int kMojoSignalsWritable = (1 << 1); | 37 static const int kMojoSignalsWritable = (1 << 1); |
38 static const int kMojoSignalsPeerClosed = (1 << 2); | 38 static const int kMojoSignalsPeerClosed = (1 << 2); |
39 static const int kMojoSignalsAll = | 39 static const int kMojoSignalsAll = |
40 kMojoSignalsReadable | kMojoSignalsWritable | kMojoSignalsPeerClosed; | 40 kMojoSignalsReadable | kMojoSignalsWritable | kMojoSignalsPeerClosed; |
41 | 41 |
42 static int _encodeCommand(int cmd, [int signals = 0]) => | 42 static int _encodeCommand(int cmd, [int signals = 0]) => |
43 (cmd << 3) | (signals & kMojoSignalsAll); | 43 (cmd << 3) | (signals & kMojoSignalsAll); |
44 static int _decodeCommand(int cmd) { | 44 static int _decodeCommand(int cmd) { |
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
344 | 344 |
345 static int remove(int mojoHandle) { | 345 static int remove(int mojoHandle) { |
346 return _sendControlData(mojoHandle, null, _encodeCommand(REMOVE)); | 346 return _sendControlData(mojoHandle, null, _encodeCommand(REMOVE)); |
347 } | 347 } |
348 | 348 |
349 static int timer(Object ignored, SendPort port, int deadline) { | 349 static int timer(Object ignored, SendPort port, int deadline) { |
350 // The deadline will be unwrapped before sending to the handle watcher. | 350 // The deadline will be unwrapped before sending to the handle watcher. |
351 return _sendControlData(deadline, port, _encodeCommand(TIMER)); | 351 return _sendControlData(deadline, port, _encodeCommand(TIMER)); |
352 } | 352 } |
353 } | 353 } |
OLD | NEW |