@@ -85,7 +85,6 @@ class RPCServer extends EventTarget {
85
85
middlewareFactory = rpcUtilsMiddleware . defaultServerMiddlewareWrapper ( ) ,
86
86
sensitive = false ,
87
87
handlerTimeoutTime = 60_000 , // 1 minute
88
- handlerTimeoutGraceTime = 2_000 , // 2 seconds
89
88
logger = new Logger ( this . name ) ,
90
89
} : {
91
90
manifest : ServerManifest ;
@@ -97,7 +96,6 @@ class RPCServer extends EventTarget {
97
96
> ;
98
97
sensitive ?: boolean ;
99
98
handlerTimeoutTime ?: number ;
100
- handlerTimeoutGraceTime ?: number ;
101
99
logger ?: Logger ;
102
100
} ) : Promise < RPCServer > {
103
101
logger . info ( `Creating ${ this . name } ` ) ;
@@ -106,7 +104,6 @@ class RPCServer extends EventTarget {
106
104
middlewareFactory,
107
105
sensitive,
108
106
handlerTimeoutTime,
109
- handlerTimeoutGraceTime,
110
107
logger,
111
108
} ) ;
112
109
logger . info ( `Created ${ this . name } ` ) ;
@@ -116,7 +113,6 @@ class RPCServer extends EventTarget {
116
113
protected handlerMap : Map < string , RawHandlerImplementation > = new Map ( ) ;
117
114
protected defaultTimeoutMap : Map < string , number | undefined > = new Map ( ) ;
118
115
protected handlerTimeoutTime : number ;
119
- protected handlerTimeoutGraceTime : number ;
120
116
protected activeStreams : Set < PromiseCancellable < void > > = new Set ( ) ;
121
117
protected sensitive : boolean ;
122
118
protected middlewareFactory : MiddlewareFactory <
@@ -131,7 +127,6 @@ class RPCServer extends EventTarget {
131
127
middlewareFactory,
132
128
sensitive,
133
129
handlerTimeoutTime = 60_000 , // 1 minuet
134
- handlerTimeoutGraceTime = 2_000 , // 2 seconds
135
130
logger,
136
131
} : {
137
132
manifest : ServerManifest ;
@@ -143,7 +138,6 @@ class RPCServer extends EventTarget {
143
138
JSONRPCResponseResult
144
139
> ;
145
140
handlerTimeoutTime ?: number ;
146
- handlerTimeoutGraceTime ?: number ;
147
141
sensitive : boolean ;
148
142
logger : Logger ;
149
143
} ) {
@@ -202,7 +196,6 @@ class RPCServer extends EventTarget {
202
196
this . middlewareFactory = middlewareFactory ;
203
197
this . sensitive = sensitive ;
204
198
this . handlerTimeoutTime = handlerTimeoutTime ;
205
- this . handlerTimeoutGraceTime = handlerTimeoutGraceTime ;
206
199
this . logger = logger ;
207
200
}
208
201
@@ -450,18 +443,15 @@ class RPCServer extends EventTarget {
450
443
} ,
451
444
} ) ;
452
445
453
- // Grace timer is triggered with any abort signal.
454
- // If grace timer completes then it will cause the RPCStream to end with
455
446
// `RPCStream.cancel(reason)`.
456
- let graceTimer : Timer < void > | undefined ;
457
447
const handleAbort = ( ) => {
458
- const graceTimer = new Timer ( {
459
- delay : this . handlerTimeoutGraceTime ,
448
+ const timer = new Timer ( {
449
+ delay : this . handlerTimeoutTime ,
460
450
handler : ( ) => {
461
451
rpcStream . cancel ( abortController . signal . reason ) ;
462
452
} ,
463
453
} ) ;
464
- void graceTimer
454
+ void timer
465
455
. catch ( ( ) => { } ) // Ignore cancellation error
466
456
. finally ( ( ) => {
467
457
abortController . signal . removeEventListener ( 'abort' , handleAbort ) ;
@@ -496,9 +486,7 @@ class RPCServer extends EventTarget {
496
486
await rpcStream . writable . abort ( reason ) ;
497
487
await inputStreamEndProm ;
498
488
timer . cancel ( cleanupReason ) ;
499
- graceTimer ?. cancel ( cleanupReason ) ;
500
489
await timer . catch ( ( ) => { } ) ;
501
- await graceTimer ?. catch ( ( ) => { } ) ;
502
490
} ;
503
491
// Read a single empty value to consume the first message
504
492
const reader = headTransformStream . readable . getReader ( ) ;
@@ -522,9 +510,7 @@ class RPCServer extends EventTarget {
522
510
) ;
523
511
await inputStreamEndProm ;
524
512
timer . cancel ( cleanupReason ) ;
525
- graceTimer ?. cancel ( cleanupReason ) ;
526
513
await timer . catch ( ( ) => { } ) ;
527
- await graceTimer ?. catch ( ( ) => { } ) ;
528
514
this . dispatchEvent (
529
515
new rpcEvents . RPCErrorEvent ( {
530
516
detail : new rpcErrors . ErrorRPCOutputStreamError (
@@ -616,8 +602,6 @@ class RPCServer extends EventTarget {
616
602
// Clean up and return
617
603
timer . cancel ( cleanupReason ) ;
618
604
abortController . signal . removeEventListener ( 'abort' , handleAbort ) ;
619
- graceTimer ?. cancel ( cleanupReason ) ;
620
- abortController . abort ( new rpcErrors . ErrorRPCStreamEnded ( ) ) ;
621
605
rpcStream . cancel ( Error ( 'TMP header message was an error' ) ) ;
622
606
return ;
623
607
}
@@ -641,7 +625,6 @@ class RPCServer extends EventTarget {
641
625
// Cleaning up abort and timer
642
626
timer . cancel ( cleanupReason ) ;
643
627
abortController . signal . removeEventListener ( 'abort' , handleAbort ) ;
644
- graceTimer ?. cancel ( cleanupReason ) ;
645
628
abortController . abort ( new rpcErrors . ErrorRPCStreamEnded ( ) ) ;
646
629
} ) ( ) ;
647
630
const handlerProm = PromiseCancellable . from ( prom , abortController ) . finally (
0 commit comments