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

Unified Diff: runtime/vm/message.h

Issue 19622003: VM Service isolate listing (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 5 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
Index: runtime/vm/message.h
diff --git a/runtime/vm/message.h b/runtime/vm/message.h
index 80d1df56d1c8c210d08072e18a41da9cab03addb..e5e7796d59098649f8724502257f2a3bb64e427d 100644
--- a/runtime/vm/message.h
+++ b/runtime/vm/message.h
@@ -23,6 +23,15 @@ class Message {
kNumPriorities = 2,
} Priority;
+ typedef enum {
+ kNormalType = 0, // Normal message.
+ kServiceType = 1, // Service isolate message.
siva 2013/07/19 17:41:16 I am not sure about this message type encoding her
+
+ // Iteration.
+ kFirstType = 0,
+ kNumTypes = 2,
+ } Type;
+
// A port number which is never used.
static const Dart_Port kIllegalPort = 0;
@@ -31,14 +40,15 @@ class Message {
// being destructed (after delivery or when the receiving port is closed).
//
// If reply_port is kIllegalPort, then there is no reply port.
- Message(Dart_Port dest_port, Dart_Port reply_port,
- uint8_t* data, intptr_t len, Priority priority)
+ Message(Dart_Port dest_port, Dart_Port reply_port, uint8_t* data,
+ intptr_t len, Priority priority, Type type = kNormalType)
: next_(NULL),
dest_port_(dest_port),
reply_port_(reply_port),
data_(data),
len_(len),
- priority_(priority) {}
+ priority_(priority),
+ type_(type) {}
~Message() {
free(data_);
}
@@ -48,8 +58,10 @@ class Message {
uint8_t* data() const { return data_; }
intptr_t len() const { return len_; }
Priority priority() const { return priority_; }
+ Type type() const { return type_; }
bool IsOOB() const { return priority_ == Message::kOOBPriority; }
+ bool IsService() const { return type_ == Message::kServiceType; }
private:
friend class MessageQueue;
@@ -60,6 +72,7 @@ class Message {
uint8_t* data_;
intptr_t len_;
Priority priority_;
+ Type type_;
DISALLOW_COPY_AND_ASSIGN(Message);
};

Powered by Google App Engine
This is Rietveld 408576698