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

Unified Diff: mojo/public/dart/src/message_pipe.dart

Issue 1132063007: Rationalize Dart mojo and sky package structure (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 7 months 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/src/message.dart ('k') | mojo/public/dart/src/natives.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/public/dart/src/message_pipe.dart
diff --git a/mojo/public/dart/src/message_pipe.dart b/mojo/public/dart/src/message_pipe.dart
deleted file mode 100644
index 29ae078b926b8a68252eb8a5342d0c8a99725ccc..0000000000000000000000000000000000000000
--- a/mojo/public/dart/src/message_pipe.dart
+++ /dev/null
@@ -1,148 +0,0 @@
-// Copyright 2014 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 core;
-
-class MojoMessagePipeReadResult {
- final MojoResult status;
- final int bytesRead;
- final int handlesRead;
-
- MojoMessagePipeReadResult(this.status, this.bytesRead, this.handlesRead);
- MojoMessagePipeReadResult.fromList(List<int> resultList)
- : this(new MojoResult(resultList[0]), resultList[1], resultList[2]);
-
- String toString() {
- return "MojoMessagePipeReadResult("
- "status: $status, bytesRead: $bytesRead, handlesRead: $handlesRead)";
- }
-}
-
-class MojoMessagePipeEndpoint {
- static const int WRITE_FLAG_NONE = 0;
- static const int READ_FLAG_NONE = 0;
- static const int READ_FLAG_MAY_DISCARD = 1 << 0;
-
- MojoHandle handle;
- MojoResult status;
-
- MojoMessagePipeEndpoint(this.handle);
-
- MojoResult write(ByteData data,
- [int numBytes = -1, List<MojoHandle> handles = null, int flags = 0]) {
- if (handle == null) {
- status = MojoResult.INVALID_ARGUMENT;
- return status;
- }
-
- int dataLengthInBytes = (data == null) ? 0 : data.lengthInBytes;
-
- // If numBytes has the default value, use the full length of the data.
- int dataNumBytes = (numBytes == -1) ? dataLengthInBytes : numBytes;
- if (dataNumBytes > dataLengthInBytes) {
- status = MojoResult.INVALID_ARGUMENT;
- return status;
- }
-
- // handles may be null, otherwise convert to ints.
- List<int> mojoHandles =
- (handles != null) ? handles.map((h) => h.h).toList() : null;
-
- // Do the call.
- int result = MojoMessagePipeNatives.MojoWriteMessage(
- handle.h, data, dataNumBytes, mojoHandles, flags);
-
- status = new MojoResult(result);
- return status;
- }
-
- MojoMessagePipeReadResult read(ByteData data,
- [int numBytes = -1, List<MojoHandle> handles = null, int flags = 0]) {
- if (handle == null) {
- status = MojoResult.INVALID_ARGUMENT;
- return null;
- }
-
- // If numBytes has the default value, use the full length of the data.
- int dataNumBytes;
- if (data == null) {
- dataNumBytes = 0;
- } else {
- dataNumBytes = (numBytes == -1) ? data.lengthInBytes : numBytes;
- if (dataNumBytes > data.lengthInBytes) {
- status = MojoResult.INVALID_ARGUMENT;
- return null;
- }
- }
-
- // handles may be null, otherwise make an int list for the handles.
- List<int> mojoHandles;
- if (handles == null) {
- mojoHandles = null;
- } else {
- mojoHandles = new List<int>(handles.length);
- }
-
- // Do the call.
- List result = MojoMessagePipeNatives.MojoReadMessage(
- handle.h, data, dataNumBytes, mojoHandles, flags);
-
- if (result == null) {
- status = MojoResult.INVALID_ARGUMENT;
- return null;
- }
-
- assert((result is List) && (result.length == 3));
- var readResult = new MojoMessagePipeReadResult.fromList(result);
-
- // Copy out the handles that were read.
- if (handles != null) {
- for (var i = 0; i < readResult.handlesRead; i++) {
- handles[i] = new MojoHandle(mojoHandles[i]);
- }
- }
-
- status = readResult.status;
- return readResult;
- }
-
- MojoMessagePipeReadResult query() => read(null);
-
- void close() {
- handle.close();
- handle = null;
- }
-
- String toString() =>
- "MojoMessagePipeEndpoint(handle: $handle, status: $status)";
-}
-
-class MojoMessagePipe {
- static const int FLAG_NONE = 0;
-
- List<MojoMessagePipeEndpoint> endpoints;
- MojoResult status;
-
- MojoMessagePipe._() {
- endpoints = null;
- status = MojoResult.OK;
- }
-
- factory MojoMessagePipe([int flags = FLAG_NONE]) {
- List result = MojoMessagePipeNatives.MojoCreateMessagePipe(flags);
- if (result == null) {
- return null;
- }
- assert((result is List) && (result.length == 3));
-
- MojoHandle end1 = new MojoHandle(result[1]);
- MojoHandle end2 = new MojoHandle(result[2]);
- MojoMessagePipe pipe = new MojoMessagePipe._();
- pipe.endpoints = new List(2);
- pipe.endpoints[0] = new MojoMessagePipeEndpoint(end1);
- pipe.endpoints[1] = new MojoMessagePipeEndpoint(end2);
- pipe.status = new MojoResult(result[0]);
- return pipe;
- }
-}
« no previous file with comments | « mojo/public/dart/src/message.dart ('k') | mojo/public/dart/src/natives.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698