fbshipit-source-id: c71048dfea2a03cf83650b55aa9d1e463251920c

This commit is contained in:
Daniel Buchele
2018-07-04 07:19:44 -07:00
parent e6fa377d75
commit 5163f8b9a3
18 changed files with 235 additions and 247 deletions

View File

@@ -7,7 +7,8 @@
import type {SonarPlugin} from './plugin.js';
import type {App} from './App.js';
import type BaseDevice from './devices/BaseDevice.js';
import type Logger from './fb-stubs/Logger.js';
import plugins from './plugins/index.js';
import {ReactiveSocket, PartialResponder} from 'rsocket-core';
@@ -26,7 +27,12 @@ export type ClientQuery = {|
type RequestMetadata = {method: string, id: number, params: ?Object};
export default class Client extends EventEmitter {
constructor(app: App, id: string, query: ClientQuery, conn: ReactiveSocket) {
constructor(
id: string,
query: ClientQuery,
conn: ReactiveSocket,
logger: Logger,
) {
super();
this.connected = true;
@@ -35,7 +41,7 @@ export default class Client extends EventEmitter {
this.id = id;
this.query = query;
this.messageIdCounter = 0;
this.app = app;
this.logger = logger;
this.broadcastCallbacks = new Map();
this.requestCallbacks = new Map();
@@ -82,16 +88,6 @@ export default class Client extends EventEmitter {
|},
>;
getDevice(): ?BaseDevice {
const {device_id} = this.query;
if (device_id == null) {
return null;
} else {
return this.app.getDevice(device_id);
}
}
supportsPlugin(Plugin: Class<SonarPlugin<>>): boolean {
return this.plugins.includes(Plugin.id);
}
@@ -193,7 +189,7 @@ export default class Client extends EventEmitter {
}
toJSON() {
return null;
return `<Client#${this.id}>`;
}
subscribe(
@@ -257,7 +253,7 @@ export default class Client extends EventEmitter {
finishTimingRequestResponse(data: RequestMetadata) {
const mark = this.getPerformanceMark(data);
const logEventName = this.getLogEventName(data);
this.app.logger.trackTimeSince(mark, logEventName);
this.logger.trackTimeSince(mark, logEventName);
}
getPerformanceMark(data: RequestMetadata): string {