Files
sdk/runtime/observatory/lib/src/models/repositories/event.dart
T
Carlo Bernaschina df8bf384eb Introduce external services registration
A new RPC is introduced `_registerService` which allow clients to
register new services that are accessible from all the other clients.

Each registered endpoint is identified by 3 strings:

 - `service`
   a non empty string which identifies the provided service
   (e.g. `HotReload`, `OpenFile`)
 - `alias`
   an alias for that particular endpoint used by clients to identify it
   (e.g. `Flutter`, `IntelliJ`)
 - `method` __generated__
   the RPC method that should be invoked from a client to request it

A new _stream_ `_Service` is introduce, and two related events:

 - `ServiceRegistered`
   which is triggered when a new client is registered.
   All the related information (`service`, `alias`, `method`) are sent.

 - `ServiceUnregistered`
   which is triggered when a client, which previously registered a
   service, disconnects.
   Just `service` and `method` are sent.

Related https://github.com/dart-lang/sdk/issues/30023

R=asiva@google.com, bkonyi@google.com

Review-Url: https://codereview.chromium.org/2980733003 .
2017-07-13 18:18:51 -07:00

38 lines
1.6 KiB
Dart

// 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 EventRepository {
Stream<Event> get onEvent;
Stream<VMEvent> get onVMEvent;
Stream<VMUpdateEvent> get onVMUpdate;
Stream<IsolateEvent> get onIsolateEvent;
Stream<IsolateStartEvent> get onIsolateStart;
Stream<IsolateRunnableEvent> get onIsolateRunnable;
Stream<IsolateExitEvent> get onIsolateExit;
Stream<IsolateUpdateEvent> get onIsolateUpdate;
Stream<IsolateReloadEvent> get onIsolateReload;
Stream<ServiceExtensionAddedEvent> get onServiceExtensionAdded;
Stream<DebugEvent> get onDebugEvent;
Stream<PauseStartEvent> get onPauseStart;
Stream<PauseExitEvent> get onPauseExit;
Stream<PauseBreakpointEvent> get onPauseBreakpoint;
Stream<PauseInterruptedEvent> get onPauseInterrupted;
Stream<PauseExceptionEvent> get onPauseException;
Stream<ResumeEvent> get onResume;
Stream<BreakpointAddedEvent> get onBreakpointAdded;
Stream<BreakpointResolvedEvent> get onBreakpointResolved;
Stream<BreakpointRemovedEvent> get onBreakpointRemoved;
Stream<InspectEvent> get onInspect;
Stream<GCEvent> get onGCEvent;
Stream<LoggingEvent> get onLoggingEvent;
Stream<ExtensionEvent> get onExtensionEvent;
Stream<TimelineEventsEvent> get onTimelineEvents;
Stream<ConnectionClosedEvent> get onConnectionClosed;
Stream<ServiceEvent> get onServiceEvent;
Stream<ServiceRegisteredEvent> get onServiceRegistered;
Stream<ServiceUnregisteredEvent> get onServiceUnregistered;
}