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

Unified Diff: mojo/dart/packages/mojo/lib/src/event_stream.dart

Issue 1439993003: Dart: Avoid MojoResult and MojoHandleSignals constructors. (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/dart/packages/mojo/lib/src/drain_data.dart ('k') | mojo/dart/packages/mojo/lib/src/fill_data.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/dart/packages/mojo/lib/src/event_stream.dart
diff --git a/mojo/dart/packages/mojo/lib/src/event_stream.dart b/mojo/dart/packages/mojo/lib/src/event_stream.dart
index 74694c9d051aaedb6040097335926474e1a9c5d0..9db8393dc6353f6a60271494682438f61a8f06ec 100644
--- a/mojo/dart/packages/mojo/lib/src/event_stream.dart
+++ b/mojo/dart/packages/mojo/lib/src/event_stream.dart
@@ -17,19 +17,18 @@ class MojoEventSubscription {
RawReceivePort _receivePort;
// The signals on this handle that we're interested in.
- MojoHandleSignals _signals;
+ int _signals;
// Whether subscribe() has been called.
bool _isSubscribed;
MojoEventSubscription(MojoHandle handle,
- [MojoHandleSignals signals = MojoHandleSignals.PEER_CLOSED_READABLE])
+ [int signals = MojoHandleSignals.kPeerClosedReadable])
: _handle = handle,
_signals = signals,
_isSubscribed = false {
if (!MojoHandle.registerFinalizer(this)) {
- throw new MojoInternalError(
- "Failed to register the MojoHandle.");
+ throw new MojoInternalError("Failed to register the MojoHandle.");
}
}
@@ -42,8 +41,8 @@ class MojoEventSubscription {
_receivePort = new RawReceivePort(handler);
_sendPort = _receivePort.sendPort;
- if (_signals.value != MojoHandleSignals.kNone) {
- int res = MojoHandleWatcher.add(_handle.h, _sendPort, _signals.value);
+ if (_signals != MojoHandleSignals.kNone) {
+ int res = MojoHandleWatcher.add(_handle.h, _sendPort, _signals);
if (res != MojoResult.kOk) {
throw new MojoInternalError("MojoHandleWatcher add failed: $res");
}
@@ -52,26 +51,26 @@ class MojoEventSubscription {
_isSubscribed = true;
}
- bool enableSignals(MojoHandleSignals signals) {
+ bool enableSignals(int signals) {
_signals = signals;
if (_isSubscribed) {
- return MojoHandleWatcher.add(_handle.h, _sendPort, signals.value) ==
+ return MojoHandleWatcher.add(_handle.h, _sendPort, _signals) ==
MojoResult.kOk;
}
return false;
}
bool enableReadEvents() =>
- enableSignals(MojoHandleSignals.PEER_CLOSED_READABLE);
- bool enableWriteEvents() => enableSignals(MojoHandleSignals.WRITABLE);
- bool enableAllEvents() => enableSignals(MojoHandleSignals.READWRITE);
+ enableSignals(MojoHandleSignals.kPeerClosedReadable);
+ bool enableWriteEvents() => enableSignals(MojoHandleSignals.kWritable);
+ bool enableAllEvents() => enableSignals(MojoHandleSignals.kReadWrite);
Future _close({bool immediate: false, bool local: false}) {
if (_handle != null) {
if (_isSubscribed && !local) {
return _handleWatcherClose(immediate: immediate).then((result) {
// If the handle watcher is gone, then close the handle ourselves.
- if (!result.isOk) {
+ if (result != MojoResult.kOk) {
_localClose();
}
});
@@ -90,7 +89,7 @@ class MojoEventSubscription {
_receivePort.close();
_receivePort = null;
}
- return new MojoResult(r);
+ return r;
});
}
@@ -105,7 +104,7 @@ class MojoEventSubscription {
bool get readyRead => _handle.readyRead;
bool get readyWrite => _handle.readyWrite;
- MojoHandleSignals get signals => _signals;
+ int get signals => _signals;
String toString() => "$_handle";
}
@@ -196,18 +195,18 @@ class MojoEventHandler {
// immediately.
return;
}
- var signalsWatched = new MojoHandleSignals(event[0]);
- var signalsReceived = new MojoHandleSignals(event[1]);
+ int signalsWatched = event[0];
+ int signalsReceived = event[1];
_isInHandler = true;
- if (signalsReceived.isReadable) {
+ if (MojoHandleSignals.isReadable(signalsReceived)) {
assert(_eventSubscription.readyRead);
handleRead();
}
- if (signalsReceived.isWritable) {
+ if (MojoHandleSignals.isWritable(signalsReceived)) {
assert(_eventSubscription.readyWrite);
handleWrite();
}
- _isPeerClosed = signalsReceived.isPeerClosed ||
+ _isPeerClosed = MojoHandleSignals.isPeerClosed(signalsReceived) ||
!_eventSubscription.enableSignals(signalsWatched);
_isInHandler = false;
if (_isPeerClosed) {
« no previous file with comments | « mojo/dart/packages/mojo/lib/src/drain_data.dart ('k') | mojo/dart/packages/mojo/lib/src/fill_data.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698