| OLD | NEW |
| 1 # Dart VM Service Protocol 3.0 | 1 # Dart VM Service Protocol 3.0 |
| 2 | 2 |
| 3 > Please post feedback to the [observatory-discuss group][discuss-list] | 3 > Please post feedback to the [observatory-discuss group][discuss-list] |
| 4 | 4 |
| 5 This document describes of _version 3.0_ of the Dart VM Service Protocol. This | 5 This document describes of _version 3.0_ of the Dart VM Service Protocol. This |
| 6 protocol is used to communicate with a running Dart Virtual Machine. | 6 protocol is used to communicate with a running Dart Virtual Machine. |
| 7 | 7 |
| 8 To use the Service Protocol, start the VM with the *--observe* flag. | 8 To use the Service Protocol, start the VM with the *--observe* flag. |
| 9 The VM will start a webserver which services protocol requests via WebSocket. | 9 The VM will start a webserver which services protocol requests via WebSocket. |
| 10 It is possible to make HTTP (non-WebSocket) requests, | 10 It is possible to make HTTP (non-WebSocket) requests, |
| (...skipping 751 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 762 PropertyType optionalProperty [optional]; | 762 PropertyType optionalProperty [optional]; |
| 763 ``` | 763 ``` |
| 764 | 764 |
| 765 If a property can have multiple independent types, we denote this with | 765 If a property can have multiple independent types, we denote this with |
| 766 a vertical bar: | 766 a vertical bar: |
| 767 | 767 |
| 768 ``` | 768 ``` |
| 769 PropertyType1|PropertyType2 complexProperty; | 769 PropertyType1|PropertyType2 complexProperty; |
| 770 ``` | 770 ``` |
| 771 | 771 |
| 772 We also allow parenthesis on type expressions. This is useful when a property |
| 773 is an _Array_ of multiple independent types: |
| 774 |
| 775 ``` |
| 776 (PropertyType1|PropertyType2)[] |
| 777 ``` |
| 778 |
| 772 When a string is only permitted to take one of a certain set of values, | 779 When a string is only permitted to take one of a certain set of values, |
| 773 we indicate this by the use of the _enum_ format: | 780 we indicate this by the use of the _enum_ format: |
| 774 | 781 |
| 775 ``` | 782 ``` |
| 776 enum PermittedValues { | 783 enum PermittedValues { |
| 777 Value1, | 784 Value1, |
| 778 Value2 | 785 Value2 |
| 779 } | 786 } |
| 780 ``` | 787 ``` |
| 781 | 788 |
| (...skipping 675 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1457 // TypeParameter | 1464 // TypeParameter |
| 1458 @Class parameterizedClass [optional]; | 1465 @Class parameterizedClass [optional]; |
| 1459 | 1466 |
| 1460 // The fields of this Instance. | 1467 // The fields of this Instance. |
| 1461 BoundField[] fields [optional]; | 1468 BoundField[] fields [optional]; |
| 1462 | 1469 |
| 1463 // The elements of a List instance. | 1470 // The elements of a List instance. |
| 1464 // | 1471 // |
| 1465 // Provided for instance kinds: | 1472 // Provided for instance kinds: |
| 1466 // List | 1473 // List |
| 1467 @Instance|Sentinel[] elements [optional]; | 1474 (@Instance|Sentinel)[] elements [optional]; |
| 1468 | 1475 |
| 1469 // The elements of a List instance. | 1476 // The elements of a List instance. |
| 1470 // | 1477 // |
| 1471 // Provided for instance kinds: | 1478 // Provided for instance kinds: |
| 1472 // Map | 1479 // Map |
| 1473 MapAssociation[] associations [optional]; | 1480 MapAssociation[] associations [optional]; |
| 1474 | 1481 |
| 1475 // The bytes of a TypedData instance. | 1482 // The bytes of a TypedData instance. |
| 1476 // | 1483 // |
| 1477 // The data is provided as a Base64 encoded string. | 1484 // The data is provided as a Base64 encoded string. |
| (...skipping 651 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2129 // in a backwards compatible way. | 2136 // in a backwards compatible way. |
| 2130 int minor; | 2137 int minor; |
| 2131 } | 2138 } |
| 2132 ``` | 2139 ``` |
| 2133 | 2140 |
| 2134 See [Versioning](#versioning). | 2141 See [Versioning](#versioning). |
| 2135 | 2142 |
| 2136 ### VM | 2143 ### VM |
| 2137 | 2144 |
| 2138 ``` | 2145 ``` |
| 2146 class @VM extends Response { |
| 2147 // A name identifying this vm. Not guaranteed to be unique. |
| 2148 string name; |
| 2149 } |
| 2150 ``` |
| 2151 |
| 2152 _@VM_ is a reference to a _VM_ object. |
| 2153 |
| 2154 ``` |
| 2139 class VM extends Response { | 2155 class VM extends Response { |
| 2140 // Word length on target architecture (e.g. 32, 64). | 2156 // Word length on target architecture (e.g. 32, 64). |
| 2141 int architectureBits; | 2157 int architectureBits; |
| 2142 | 2158 |
| 2143 // The CPU we are generating code for. | 2159 // The CPU we are generating code for. |
| 2144 string targetCPU; | 2160 string targetCPU; |
| 2145 | 2161 |
| 2146 // The CPU we are actually running on. | 2162 // The CPU we are actually running on. |
| 2147 string hostCPU; | 2163 string hostCPU; |
| 2148 | 2164 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 2165 ## Revision History | 2181 ## Revision History |
| 2166 | 2182 |
| 2167 version | comments | 2183 version | comments |
| 2168 ------- | -------- | 2184 ------- | -------- |
| 2169 1.0 | initial revision | 2185 1.0 | initial revision |
| 2170 2.0 | Describe protocol version 2.0. | 2186 2.0 | Describe protocol version 2.0. |
| 2171 3.0 | Describe protocol version 3.0. Added UnresolvedSourceLocation. Added Sen
tinel return to getIsolate. Add AddedBreakpointWithScriptUri. Removed Isolate.
entry. The type of VM.pid was changed from string to int. Added VMUpdate events
. | 2187 3.0 | Describe protocol version 3.0. Added UnresolvedSourceLocation. Added Sen
tinel return to getIsolate. Add AddedBreakpointWithScriptUri. Removed Isolate.
entry. The type of VM.pid was changed from string to int. Added VMUpdate events
. |
| 2172 | 2188 |
| 2173 | 2189 |
| 2174 [discuss-list]: https://groups.google.com/a/dartlang.org/forum/#!forum/observato
ry-discuss | 2190 [discuss-list]: https://groups.google.com/a/dartlang.org/forum/#!forum/observato
ry-discuss |
| OLD | NEW |