1c4ef02aeSEvan Bacon/**
2c4ef02aeSEvan Bacon * Copyright (c) 2021 Expo, Inc.
3c4ef02aeSEvan Bacon * Copyright (c) 2018 Drifty Co.
4c4ef02aeSEvan Bacon *
5c4ef02aeSEvan Bacon * This source code is licensed under the MIT license found in the
6c4ef02aeSEvan Bacon * LICENSE file in the root directory of this source tree.
7c4ef02aeSEvan Bacon */
8c4ef02aeSEvan Baconimport { Socket } from 'net';
9c4ef02aeSEvan Bacon
10c4ef02aeSEvan Baconimport { CommandError } from '../../../../utils/errors';
11c4ef02aeSEvan Baconimport { ProtocolClient } from '../protocol/AbstractProtocol';
12c4ef02aeSEvan Bacon
13c4ef02aeSEvan Baconexport abstract class ServiceClient<T extends ProtocolClient> {
14*8a424bebSJames Ide  constructor(
15*8a424bebSJames Ide    public socket: Socket,
16*8a424bebSJames Ide    protected protocolClient: T
17*8a424bebSJames Ide  ) {}
18c4ef02aeSEvan Bacon}
19c4ef02aeSEvan Bacon
20c4ef02aeSEvan Baconexport class ResponseError extends CommandError {
21*8a424bebSJames Ide  constructor(
22*8a424bebSJames Ide    msg: string,
23*8a424bebSJames Ide    public response: any
24*8a424bebSJames Ide  ) {
25c4ef02aeSEvan Bacon    super(msg);
26c4ef02aeSEvan Bacon  }
27c4ef02aeSEvan Bacon}
28