@@ -576,27 +576,31 @@ ServerDuplexStream.prototype.waitForCancel = waitForCancel;
576
576
* @param {grpc.Metadata } metadata Metadata from the client
577
577
*/
578
578
function handleUnary ( call , handler , metadata ) {
579
- var asyncResource = createAsyncResourceWrapper ( 'GrpcServerRequest' ) ;
580
579
var emitter = new ServerUnaryCall ( call , metadata ) ;
580
+ var asyncResource = createAsyncResourceWrapper ( 'grpc.ServerRequest' , emitter ) ;
581
581
emitter . on ( 'error' , function ( error ) {
582
582
handleError ( call , error ) ;
583
+ asyncResource . destroy ( ) ;
583
584
} ) ;
584
585
emitter . waitForCancel ( ) ;
585
586
var batch = { } ;
586
587
batch [ grpc . opType . RECV_MESSAGE ] = true ;
587
588
call . startBatch ( batch , asyncResource . wrap ( function ( err , result ) {
588
589
if ( err ) {
589
590
handleError ( call , err ) ;
591
+ asyncResource . destroy ( ) ;
590
592
return ;
591
593
}
592
594
try {
593
595
emitter . request = handler . deserialize ( result . read ) ;
594
596
} catch ( e ) {
595
597
e . code = constants . status . INTERNAL ;
596
598
handleError ( call , e ) ;
599
+ asyncResource . destroy ( ) ;
597
600
return ;
598
601
}
599
602
if ( emitter . cancelled ) {
603
+ asyncResource . destroy ( ) ;
600
604
return ;
601
605
}
602
606
handler . func ( emitter , function sendUnaryData ( err , value , trailer , flags ) {
@@ -633,8 +637,8 @@ function handleUnary(call, handler, metadata) {
633
637
* @param {grpc.Metadata } metadata Metadata from the client
634
638
*/
635
639
function handleServerStreaming ( call , handler , metadata ) {
636
- var asyncResource = createAsyncResourceWrapper ( 'GrpcServerRequest' ) ;
637
640
var stream = new ServerWritableStream ( call , metadata , handler . serialize ) ;
641
+ var asyncResource = createAsyncResourceWrapper ( 'grpc.ServerRequest' , stream ) ;
638
642
stream . on ( 'error' , asyncResource . destroy ) ;
639
643
stream . on ( 'finish' , asyncResource . destroy ) ;
640
644
stream . waitForCancel ( ) ;
@@ -677,10 +681,11 @@ function handleServerStreaming(call, handler, metadata) {
677
681
* @param {grpc.Metadata } metadata Metadata from the client
678
682
*/
679
683
function handleClientStreaming ( call , handler , metadata ) {
680
- var asyncResource = createAsyncResourceWrapper ( 'GrpcServerRequest' ) ;
681
684
var stream = new ServerReadableStream ( call , metadata , handler . deserialize ) ;
685
+ var asyncResource = createAsyncResourceWrapper ( 'grpc.ServerRequest' , stream ) ;
682
686
stream . on ( 'error' , function ( error ) {
683
687
handleError ( call , error ) ;
688
+ asyncResource . destroy ( ) ;
684
689
} ) ;
685
690
stream . waitForCancel ( ) ;
686
691
asyncResource . wrap ( function ( ) {
@@ -719,9 +724,9 @@ function handleClientStreaming(call, handler, metadata) {
719
724
* @param {Metadata } metadata Metadata from the client
720
725
*/
721
726
function handleBidiStreaming ( call , handler , metadata ) {
722
- var asyncResource = createAsyncResourceWrapper ( 'GrpcServerRequest' ) ;
723
727
var stream = new ServerDuplexStream ( call , metadata , handler . serialize ,
724
728
handler . deserialize ) ;
729
+ var asyncResource = createAsyncResourceWrapper ( 'grpc.ServerRequest' , stream ) ;
725
730
stream . on ( 'error' , asyncResource . destroy ) ;
726
731
stream . on ( 'finish' , asyncResource . destroy ) ;
727
732
stream . waitForCancel ( ) ;
@@ -766,7 +771,7 @@ Server.prototype.start = function() {
766
771
}
767
772
var self = this ;
768
773
this . started = true ;
769
- this . asyncResourceWrap = createAsyncResourceWrapper ( 'GrpcServer' ) ;
774
+ this . asyncResourceWrap = createAsyncResourceWrapper ( 'grpc.Server' , this ) ;
770
775
this . _server . start ( ) ;
771
776
/**
772
777
* Handles the SERVER_RPC_NEW event. If there is a handler associated with
0 commit comments