@@ -57,6 +57,7 @@ impl SfuService for SfuGrpcService {
5757 let ice_handler = GrpcPublisherIceHandler {
5858 dispatcher : Arc :: clone ( & self . dispatcher_grpc_client ) ,
5959 client_id : req. client_id . clone ( ) ,
60+ tokio_handle : tokio:: runtime:: Handle :: current ( ) ,
6061 } ;
6162
6263 let joined_handler = GrpcJoinedHandler {
@@ -65,6 +66,7 @@ impl SfuService for SfuGrpcService {
6566 room_id : req. room_id . clone ( ) ,
6667 client_id : req. client_id . clone ( ) ,
6768 node_id : self . node_id . clone ( ) ,
69+ tokio_handle : tokio:: runtime:: Handle :: current ( ) ,
6870 } ;
6971
7072 let rtc_manager = self . rtc_manager . clone ( ) ;
@@ -115,12 +117,14 @@ impl SfuService for SfuGrpcService {
115117 dispatcher : Arc :: clone ( & self . dispatcher_grpc_client ) ,
116118 client_id : req. client_id . clone ( ) ,
117119 target_id : req. target_id . clone ( ) ,
120+ tokio_handle : tokio:: runtime:: Handle :: current ( ) ,
118121 } ;
119122
120123 let renegotiation_handler = GrpcRenegotiationHandler {
121124 dispatcher : Arc :: clone ( & self . dispatcher_grpc_client ) ,
122125 client_id : req. client_id . clone ( ) ,
123126 target_id : req. target_id . clone ( ) ,
127+ tokio_handle : tokio:: runtime:: Handle :: current ( ) ,
124128 } ;
125129
126130 let rtc_manager = self . rtc_manager . clone ( ) ;
@@ -434,14 +438,15 @@ impl SfuService for SfuGrpcService {
434438pub struct GrpcPublisherIceHandler {
435439 pub dispatcher : Arc < Mutex < DispatcherGrpcClient > > ,
436440 pub client_id : String ,
441+ pub tokio_handle : tokio:: runtime:: Handle ,
437442}
438443
439444impl IceCandidateHandler for GrpcPublisherIceHandler {
440445 fn handle_candidate ( & self , candidate : IceCandidate ) {
441446 let dispatcher = Arc :: clone ( & self . dispatcher ) ;
442447 let client_id = self . client_id . clone ( ) ;
443448
444- tokio :: spawn ( async move {
449+ self . tokio_handle . spawn ( async move {
445450 let dispatcher = dispatcher. lock ( ) . await ;
446451
447452 let _ = dispatcher
@@ -463,14 +468,16 @@ pub struct GrpcSubscriberIceHandler {
463468 pub dispatcher : Arc < Mutex < DispatcherGrpcClient > > ,
464469 pub client_id : String ,
465470 pub target_id : String ,
471+ pub tokio_handle : tokio:: runtime:: Handle ,
466472}
467473
468474impl IceCandidateHandler for GrpcSubscriberIceHandler {
469475 fn handle_candidate ( & self , candidate : IceCandidate ) {
470476 let dispatcher = Arc :: clone ( & self . dispatcher ) ;
471477 let client_id = self . client_id . clone ( ) ;
472478 let target_id = self . target_id . clone ( ) ;
473- tokio:: spawn ( async move {
479+
480+ self . tokio_handle . spawn ( async move {
474481 let dispatcher = dispatcher. lock ( ) . await ;
475482
476483 let _ = dispatcher
@@ -495,6 +502,7 @@ pub struct GrpcJoinedHandler {
495502 pub room_id : String ,
496503 pub client_id : String ,
497504 pub node_id : String ,
505+ pub tokio_handle : tokio:: runtime:: Handle ,
498506}
499507
500508impl JoinedHandler for GrpcJoinedHandler {
@@ -505,9 +513,8 @@ impl JoinedHandler for GrpcJoinedHandler {
505513 let client_id = self . client_id . clone ( ) ;
506514 let node_id = self . node_id . clone ( ) ;
507515
508- tokio :: spawn ( async move {
516+ self . tokio_handle . spawn ( async move {
509517 let dispatcher = dispatcher. lock ( ) . await ;
510-
511518 let _ = dispatcher
512519 . new_user_joined ( NewUserJoinedRequest {
513520 participant_id,
@@ -526,6 +533,7 @@ pub struct GrpcRenegotiationHandler {
526533 pub dispatcher : Arc < Mutex < DispatcherGrpcClient > > ,
527534 pub client_id : String ,
528535 pub target_id : String ,
536+ pub tokio_handle : tokio:: runtime:: Handle ,
529537}
530538
531539impl RenegotiationHandler for GrpcRenegotiationHandler {
@@ -534,7 +542,7 @@ impl RenegotiationHandler for GrpcRenegotiationHandler {
534542 let client_id = self . client_id . clone ( ) ;
535543 let target_id = self . target_id . clone ( ) ;
536544
537- tokio :: spawn ( async move {
545+ self . tokio_handle . spawn ( async move {
538546 let dispatcher = dispatcher. lock ( ) . await ;
539547 let _ = dispatcher
540548 . subscriber_renegotiate ( SubscriberRenegotiateRequest {
0 commit comments