11import * as http2 from 'http2' ;
22import { EventEmitter } from 'events' ;
3- import { Node , MeshConfig , Message } from '../shared/types' ;
3+ import { Node , MeshConfig } from '../shared/types' ;
44
55import { IChannel , ICommunication } from '../abstract' ;
66
@@ -9,8 +9,8 @@ import { IChannel, ICommunication } from '../abstract';
99export class H2Channel implements IChannel {
1010 private stream : http2 . ClientHttp2Stream | http2 . ServerHttp2Stream ;
1111 // We need a queue for received messages because receive() calls might not align with data events
12- private receiveQueue : Message [ ] = [ ] ;
13- private receiveResolvers : Array < { resolve : ( msg : Message ) => void , reject : ( err : Error ) => void } > = [ ] ;
12+ private receiveQueue : any [ ] = [ ] ;
13+ private receiveResolvers : Array < { resolve : ( msg : any ) => void , reject : ( err : Error ) => void } > = [ ] ;
1414 private buffer : Buffer = Buffer . alloc ( 0 ) ;
1515 private isClosed : boolean = false ;
1616 private closeHandlers : ( ( ) => void ) [ ] = [ ] ;
@@ -58,7 +58,7 @@ export class H2Channel implements IChannel {
5858
5959 try {
6060 const msgString = payloadBuf . toString ( 'utf8' ) ;
61- const msg : Message = JSON . parse ( msgString ) ;
61+ const msg = JSON . parse ( msgString ) ;
6262 this . _pushMessage ( msg ) ;
6363 } catch ( e ) {
6464 console . error ( "Failed to parse message" , e ) ;
@@ -69,7 +69,7 @@ export class H2Channel implements IChannel {
6969 }
7070 }
7171
72- private _pushMessage ( msg : Message ) {
72+ private _pushMessage ( msg : any ) {
7373 if ( this . receiveResolvers . length > 0 ) {
7474 const { resolve } = this . receiveResolvers . shift ( ) ! ;
7575 resolve ( msg ) ;
@@ -78,7 +78,7 @@ export class H2Channel implements IChannel {
7878 }
7979 }
8080
81- public async send ( message : Message ) : Promise < void > {
81+ public async send ( message : any ) : Promise < void > {
8282 if ( this . isClosed ) {
8383 throw new Error ( "Channel closed" ) ;
8484 }
@@ -95,7 +95,7 @@ export class H2Channel implements IChannel {
9595 } ) ;
9696 }
9797
98- public async receive ( ) : Promise < Message > {
98+ public async receive ( ) : Promise < any > {
9999 if ( this . receiveQueue . length > 0 ) {
100100 return this . receiveQueue . shift ( ) ! ;
101101 }
@@ -122,7 +122,7 @@ export class H2Channel implements IChannel {
122122 }
123123 }
124124
125- public async * [ Symbol . asyncIterator ] ( ) : AsyncIterator < Message > {
125+ public async * [ Symbol . asyncIterator ] ( ) : AsyncIterator < any > {
126126 while ( ! this . isClosed ) {
127127 try {
128128 const msg = await this . receive ( ) ;
@@ -141,7 +141,7 @@ export class H2Communication extends EventEmitter implements ICommunication {
141141 private config : MeshConfig ;
142142 private server ?: http2 . Http2Server ;
143143 private channelListeners : { [ service : string ] : ( channel : IChannel ) => void } = { } ;
144- private unaryListeners : { [ service : string ] : ( msg : Message ) => Promise < Message > } = { } ;
144+ private unaryListeners : { [ service : string ] : ( msg : any ) => Promise < any > } = { } ;
145145
146146 constructor ( config : MeshConfig ) {
147147 super ( ) ;
@@ -213,7 +213,7 @@ export class H2Communication extends EventEmitter implements ICommunication {
213213 this . channelListeners [ serviceName ] = callback ;
214214 }
215215
216- public listenUnary ( serviceName : string , callback : ( msg : Message ) => Promise < Message > ) {
216+ public listenUnary ( serviceName : string , callback : ( msg : any ) => Promise < any > ) {
217217 this . unaryListeners [ serviceName ] = callback ;
218218 }
219219
@@ -233,7 +233,7 @@ export class H2Communication extends EventEmitter implements ICommunication {
233233 } ) ;
234234 }
235235
236- public async sendUnary ( node : Node , message : Message ) : Promise < Message > {
236+ public async sendUnary ( node : Node , message : any ) : Promise < any > {
237237 return new Promise ( ( resolve , reject ) => {
238238 const client = http2 . connect ( `http://${ node . host } :${ node . port } ` ) ;
239239 client . on ( 'error' , ( err ) => reject ( err ) ) ;
0 commit comments