| // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| // for details. 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 models; |
| |
| abstract class IsolateRef { |
| /// The id which is passed to the getIsolate RPC to reload this |
| /// isolate. |
| String get id; |
| |
| /// A numeric id for this isolate, represented as a string. Unique. |
| int get number; |
| |
| /// A name identifying this isolate. Not guaranteed to be unique. |
| String get name; |
| |
| /// Trigger a full GC, collecting all unreachable or weakly reachable objects. |
| Future collectAllGarbage(); |
| } |
| |
| enum IsolateStatus { loading, idle, running, paused } |
| |
| abstract class Isolate extends IsolateRef { |
| /// The time that the VM started in milliseconds since the epoch. |
| DateTime get startTime; |
| |
| /// Is the isolate in a runnable state? |
| bool get runnable; |
| |
| /// The number of live ports for this isolate. |
| //int get livePorts; |
| |
| /// Will this isolate pause when exiting? |
| //bool get pauseOnExit; |
| |
| /// The last pause event delivered to the isolate. If the isolate is |
| /// running, this will be a resume event. |
| Event get pauseEvent; |
| |
| /// [optional] The root library for this isolate. |
| /// |
| /// Guaranteed to be initialized when the IsolateRunnable event fires. |
| LibraryRef get rootLibrary; |
| |
| /// A list of all libraries for this isolate. |
| /// |
| /// Guaranteed to be initialized when the IsolateRunnable event fires. |
| Iterable<LibraryRef> get libraries; |
| |
| /// A list of all breakpoints for this isolate. |
| //Iterable<Breakpoint> get breakpoints; |
| |
| /// [optional] The error that is causing this isolate to exit, if applicable. |
| Error get error; |
| |
| /// The list of threads associated with this isolate. |
| Iterable<Thread> get threads; |
| |
| /// The maximum amount of zone memory in bytes allocated by the isolate in |
| /// all threads at a given time. Calculated using the high watermarks of each |
| /// thread alive when a thread is unscheduled. |
| int get zoneHighWatermark; |
| |
| /// The number of zone handles currently held by this isolate. |
| int get numZoneHandles; |
| |
| /// The number of scoped handles currently held by this isolate. |
| int get numScopedHandles; |
| |
| /// The current pause on exception mode for this isolate. |
| //ExceptionPauseMode get exceptionPauseMode; |
| |
| /// [optional] The list of service extension RPCs that are registered for this |
| /// isolate, if any. |
| Iterable<String> get extensionRPCs; |
| |
| Map get counters; |
| HeapSpace get newSpace; |
| HeapSpace get oldSpace; |
| |
| IsolateStatus get status; |
| |
| /// [optional] |
| FunctionRef get entry; |
| } |