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

Unified Diff: runtime/vm/json_stream.cc

Issue 897193002: Finish moving service protocol to json rpc. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: code review Created 5 years, 10 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 | « runtime/vm/json_stream.h ('k') | runtime/vm/json_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/json_stream.cc
diff --git a/runtime/vm/json_stream.cc b/runtime/vm/json_stream.cc
index b525d7f6ce8f82e36b27444111f6d15abb8fb60f..d4ae6a17ffc3d18b3a98bb2c8d96e64a413b229e 100644
--- a/runtime/vm/json_stream.cc
+++ b/runtime/vm/json_stream.cc
@@ -21,12 +21,10 @@ JSONStream::JSONStream(intptr_t buf_size)
: open_objects_(0),
buffer_(buf_size),
reply_port_(ILLEGAL_PORT),
- command_(""),
- arguments_(NULL),
- num_arguments_(0),
- option_keys_(NULL),
- option_values_(NULL),
- num_options_(0) {
+ method_(""),
+ param_keys_(NULL),
+ param_values_(NULL),
+ num_params_(0) {
}
@@ -36,89 +34,35 @@ JSONStream::~JSONStream() {
void JSONStream::Setup(Zone* zone,
Dart_Port reply_port,
- const GrowableObjectArray& path,
- const Array& option_keys,
- const Array& option_values) {
+ const String& method,
+ const Array& param_keys,
+ const Array& param_values) {
set_reply_port(reply_port);
+ method_ = method.ToCString();
- // Setup JSONStream arguments and options. The arguments and options
- // are zone allocated and will be freed immediately after handling the
- // message.
- const char** arguments = zone->Alloc<const char*>(path.Length());
String& string_iterator = String::Handle();
- for (intptr_t i = 0; i < path.Length(); i++) {
- string_iterator ^= path.At(i);
- arguments[i] = zone->MakeCopyOfString(string_iterator.ToCString());
- if (i == 0) {
- command_ = arguments[i];
- }
- }
- SetArguments(arguments, path.Length());
- if (option_keys.Length() > 0) {
- const char** option_keys_native =
- zone->Alloc<const char*>(option_keys.Length());
- const char** option_values_native =
- zone->Alloc<const char*>(option_keys.Length());
- for (intptr_t i = 0; i < option_keys.Length(); i++) {
- string_iterator ^= option_keys.At(i);
- option_keys_native[i] =
+ if (param_keys.Length() > 0) {
+ ASSERT(param_keys.Length() == param_values.Length());
+ const char** param_keys_native =
+ zone->Alloc<const char*>(param_keys.Length());
+ const char** param_values_native =
+ zone->Alloc<const char*>(param_keys.Length());
+ for (intptr_t i = 0; i < param_keys.Length(); i++) {
+ string_iterator ^= param_keys.At(i);
+ param_keys_native[i] =
zone->MakeCopyOfString(string_iterator.ToCString());
- string_iterator ^= option_values.At(i);
- option_values_native[i] =
+ string_iterator ^= param_values.At(i);
+ param_values_native[i] =
zone->MakeCopyOfString(string_iterator.ToCString());
}
- SetOptions(option_keys_native, option_values_native, option_keys.Length());
+ SetParams(param_keys_native, param_values_native, param_keys.Length());
}
if (FLAG_trace_service) {
Isolate* isolate = Isolate::Current();
ASSERT(isolate != NULL);
const char* isolate_name = isolate->name();
- OS::Print("Isolate %s processing service request %s",
- isolate_name, command_);
- for (intptr_t i = 1; i < num_arguments(); i++) {
- OS::Print("/%s", GetArgument(i));
- }
- OS::Print("\n");
- setup_time_micros_ = OS::GetCurrentTimeMicros();
- }
-}
-
-
-void JSONStream::SetupNew(Zone* zone,
- Dart_Port reply_port,
- const String& method,
- const Array& option_keys,
- const Array& option_values) {
- set_reply_port(reply_port);
- command_ = method.ToCString();
-
- String& string_iterator = String::Handle();
- if (option_keys.Length() > 0) {
- ASSERT(option_keys.Length() == option_values.Length());
- const char** option_keys_native =
- zone->Alloc<const char*>(option_keys.Length());
- const char** option_values_native =
- zone->Alloc<const char*>(option_keys.Length());
- for (intptr_t i = 0; i < option_keys.Length(); i++) {
- string_iterator ^= option_keys.At(i);
- option_keys_native[i] =
- zone->MakeCopyOfString(string_iterator.ToCString());
- string_iterator ^= option_values.At(i);
- option_values_native[i] =
- zone->MakeCopyOfString(string_iterator.ToCString());
- }
- SetOptions(option_keys_native, option_values_native, option_keys.Length());
- }
- if (FLAG_trace_service) {
- Isolate* isolate = Isolate::Current();
- ASSERT(isolate != NULL);
- const char* isolate_name = isolate->name();
- OS::Print("Isolate %s processing service request %s",
- isolate_name, command_);
- for (intptr_t i = 1; i < num_arguments(); i++) {
- OS::Print("/%s", GetArgument(i));
- }
- OS::Print("\n");
+ OS::Print("Isolate %s processing service request %s\n",
+ isolate_name, method_);
setup_time_micros_ = OS::GetCurrentTimeMicros();
}
}
@@ -151,36 +95,32 @@ void JSONStream::PostReply() {
Isolate* isolate = Isolate::Current();
ASSERT(isolate != NULL);
const char* isolate_name = isolate->name();
- OS::Print("Isolate %s processed service request %s",
- isolate_name, command_);
- for (intptr_t i = 1; i < num_arguments(); i++) {
- OS::Print("/%s", GetArgument(i));
- }
- OS::Print(" in %" Pd64" us.\n", process_delta_micros);
+ OS::Print("Isolate %s processed service request %s in %" Pd64" us.\n",
+ isolate_name, method_, process_delta_micros);
}
}
-const char* JSONStream::LookupOption(const char* key) const {
- for (int i = 0; i < num_options(); i++) {
- if (!strcmp(key, option_keys_[i])) {
- return option_values_[i];
+const char* JSONStream::LookupParam(const char* key) const {
+ for (int i = 0; i < num_params(); i++) {
+ if (!strcmp(key, param_keys_[i])) {
+ return param_values_[i];
}
}
return NULL;
}
-bool JSONStream::HasOption(const char* key) const {
+bool JSONStream::HasParam(const char* key) const {
ASSERT(key);
- return LookupOption(key) != NULL;
+ return LookupParam(key) != NULL;
}
-bool JSONStream::OptionIs(const char* key, const char* value) const {
+bool JSONStream::ParamIs(const char* key, const char* value) const {
ASSERT(key);
ASSERT(value);
- const char* key_value = LookupOption(key);
+ const char* key_value = LookupParam(key);
return (key_value != NULL) && (strcmp(key_value, value) == 0);
}
@@ -411,22 +351,12 @@ void JSONStream::set_reply_port(Dart_Port port) {
}
-void JSONStream::SetArguments(const char** arguments, intptr_t num_arguments) {
- if (num_arguments > 0) {
- // Set command.
- command_ = arguments[0];
- }
- arguments_ = arguments;
- num_arguments_ = num_arguments;
-}
-
-
-void JSONStream::SetOptions(const char** option_keys,
- const char** option_values,
- intptr_t num_options) {
- option_keys_ = option_keys;
- option_values_ = option_values;
- num_options_ = num_options;
+void JSONStream::SetParams(const char** param_keys,
+ const char** param_values,
+ intptr_t num_params) {
+ param_keys_ = param_keys;
+ param_values_ = param_values;
+ num_params_ = num_params;
}
« no previous file with comments | « runtime/vm/json_stream.h ('k') | runtime/vm/json_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698