@@ -16,7 +16,7 @@ use crate::hostcalls;
16
16
use crate :: traits:: * ;
17
17
use crate :: types:: * ;
18
18
use hashbrown:: HashMap ;
19
- use log:: trace;
19
+ use log:: { error , trace} ;
20
20
use std:: cell:: { Cell , RefCell } ;
21
21
22
22
thread_local ! {
@@ -414,15 +414,24 @@ impl Dispatcher {
414
414
415
415
if let Some ( http_stream) = self . http_streams . borrow_mut ( ) . get_mut ( & context_id) {
416
416
self . active_id . set ( context_id) ;
417
- hostcalls:: set_effective_context ( context_id) . unwrap ( ) ;
417
+ if let Err ( e) = hostcalls:: set_effective_context ( context_id) {
418
+ error ! ( "set_effective_context failed: {:?}" , e) ;
419
+ return ;
420
+ }
418
421
http_stream. on_http_call_response ( token_id, num_headers, body_size, num_trailers)
419
422
} else if let Some ( stream) = self . streams . borrow_mut ( ) . get_mut ( & context_id) {
420
423
self . active_id . set ( context_id) ;
421
- hostcalls:: set_effective_context ( context_id) . unwrap ( ) ;
424
+ if let Err ( e) = hostcalls:: set_effective_context ( context_id) {
425
+ error ! ( "set_effective_context failed: {:?}" , e) ;
426
+ return ;
427
+ }
422
428
stream. on_http_call_response ( token_id, num_headers, body_size, num_trailers)
423
429
} else if let Some ( root) = self . roots . borrow_mut ( ) . get_mut ( & context_id) {
424
430
self . active_id . set ( context_id) ;
425
- hostcalls:: set_effective_context ( context_id) . unwrap ( ) ;
431
+ if let Err ( e) = hostcalls:: set_effective_context ( context_id) {
432
+ error ! ( "set_effective_context failed: {:?}" , e) ;
433
+ return ;
434
+ }
426
435
root. on_http_call_response ( token_id, num_headers, body_size, num_trailers)
427
436
}
428
437
}
@@ -439,15 +448,24 @@ impl Dispatcher {
439
448
440
449
if let Some ( http_stream) = self . http_streams . borrow_mut ( ) . get_mut ( & context_id) {
441
450
self . active_id . set ( context_id) ;
442
- hostcalls:: set_effective_context ( context_id) . unwrap ( ) ;
451
+ if let Err ( e) = hostcalls:: set_effective_context ( context_id) {
452
+ error ! ( "set_effective_context failed: {:?}" , e) ;
453
+ return ;
454
+ }
443
455
http_stream. on_grpc_stream_initial_metadata ( token_id, headers) ;
444
456
} else if let Some ( stream) = self . streams . borrow_mut ( ) . get_mut ( & context_id) {
445
457
self . active_id . set ( context_id) ;
446
- hostcalls:: set_effective_context ( context_id) . unwrap ( ) ;
458
+ if let Err ( e) = hostcalls:: set_effective_context ( context_id) {
459
+ error ! ( "set_effective_context failed: {:?}" , e) ;
460
+ return ;
461
+ }
447
462
stream. on_grpc_stream_initial_metadata ( token_id, headers) ;
448
463
} else if let Some ( root) = self . roots . borrow_mut ( ) . get_mut ( & context_id) {
449
464
self . active_id . set ( context_id) ;
450
- hostcalls:: set_effective_context ( context_id) . unwrap ( ) ;
465
+ if let Err ( e) = hostcalls:: set_effective_context ( context_id) {
466
+ error ! ( "set_effective_context failed: {:?}" , e) ;
467
+ return ;
468
+ }
451
469
root. on_grpc_stream_initial_metadata ( token_id, headers) ;
452
470
}
453
471
}
@@ -457,31 +475,49 @@ impl Dispatcher {
457
475
if let Some ( context_id) = context_id {
458
476
if let Some ( http_stream) = self . http_streams . borrow_mut ( ) . get_mut ( & context_id) {
459
477
self . active_id . set ( context_id) ;
460
- hostcalls:: set_effective_context ( context_id) . unwrap ( ) ;
478
+ if let Err ( e) = hostcalls:: set_effective_context ( context_id) {
479
+ error ! ( "set_effective_context failed: {:?}" , e) ;
480
+ return ;
481
+ }
461
482
http_stream. on_grpc_call_response ( token_id, 0 , response_size) ;
462
483
} else if let Some ( stream) = self . streams . borrow_mut ( ) . get_mut ( & context_id) {
463
484
self . active_id . set ( context_id) ;
464
- hostcalls:: set_effective_context ( context_id) . unwrap ( ) ;
485
+ if let Err ( e) = hostcalls:: set_effective_context ( context_id) {
486
+ error ! ( "set_effective_context failed: {:?}" , e) ;
487
+ return ;
488
+ }
465
489
stream. on_grpc_call_response ( token_id, 0 , response_size) ;
466
490
} else if let Some ( root) = self . roots . borrow_mut ( ) . get_mut ( & context_id) {
467
491
self . active_id . set ( context_id) ;
468
- hostcalls:: set_effective_context ( context_id) . unwrap ( ) ;
492
+ if let Err ( e) = hostcalls:: set_effective_context ( context_id) {
493
+ error ! ( "set_effective_context failed: {:?}" , e) ;
494
+ return ;
495
+ }
469
496
root. on_grpc_call_response ( token_id, 0 , response_size) ;
470
497
}
471
498
} else {
472
499
let context_id = self . grpc_streams . borrow ( ) . get ( & token_id) . cloned ( ) ;
473
500
if let Some ( context_id) = context_id {
474
501
if let Some ( http_stream) = self . http_streams . borrow_mut ( ) . get_mut ( & context_id) {
475
502
self . active_id . set ( context_id) ;
476
- hostcalls:: set_effective_context ( context_id) . unwrap ( ) ;
503
+ if let Err ( e) = hostcalls:: set_effective_context ( context_id) {
504
+ error ! ( "set_effective_context failed: {:?}" , e) ;
505
+ return ;
506
+ }
477
507
http_stream. on_grpc_stream_message ( token_id, response_size) ;
478
508
} else if let Some ( stream) = self . streams . borrow_mut ( ) . get_mut ( & context_id) {
479
509
self . active_id . set ( context_id) ;
480
- hostcalls:: set_effective_context ( context_id) . unwrap ( ) ;
510
+ if let Err ( e) = hostcalls:: set_effective_context ( context_id) {
511
+ error ! ( "set_effective_context failed: {:?}" , e) ;
512
+ return ;
513
+ }
481
514
stream. on_grpc_stream_message ( token_id, response_size) ;
482
515
} else if let Some ( root) = self . roots . borrow_mut ( ) . get_mut ( & context_id) {
483
516
self . active_id . set ( context_id) ;
484
- hostcalls:: set_effective_context ( context_id) . unwrap ( ) ;
517
+ if let Err ( e) = hostcalls:: set_effective_context ( context_id) {
518
+ error ! ( "set_effective_context failed: {:?}" , e) ;
519
+ return ;
520
+ }
485
521
root. on_grpc_stream_message ( token_id, response_size) ;
486
522
}
487
523
} else {
@@ -503,15 +539,24 @@ impl Dispatcher {
503
539
504
540
if let Some ( http_stream) = self . http_streams . borrow_mut ( ) . get_mut ( & context_id) {
505
541
self . active_id . set ( context_id) ;
506
- hostcalls:: set_effective_context ( context_id) . unwrap ( ) ;
542
+ if let Err ( e) = hostcalls:: set_effective_context ( context_id) {
543
+ error ! ( "set_effective_context failed: {:?}" , e) ;
544
+ return ;
545
+ }
507
546
http_stream. on_grpc_stream_trailing_metadata ( token_id, trailers) ;
508
547
} else if let Some ( stream) = self . streams . borrow_mut ( ) . get_mut ( & context_id) {
509
548
self . active_id . set ( context_id) ;
510
- hostcalls:: set_effective_context ( context_id) . unwrap ( ) ;
549
+ if let Err ( e) = hostcalls:: set_effective_context ( context_id) {
550
+ error ! ( "set_effective_context failed: {:?}" , e) ;
551
+ return ;
552
+ }
511
553
stream. on_grpc_stream_trailing_metadata ( token_id, trailers) ;
512
554
} else if let Some ( root) = self . roots . borrow_mut ( ) . get_mut ( & context_id) {
513
555
self . active_id . set ( context_id) ;
514
- hostcalls:: set_effective_context ( context_id) . unwrap ( ) ;
556
+ if let Err ( e) = hostcalls:: set_effective_context ( context_id) {
557
+ error ! ( "set_effective_context failed: {:?}" , e) ;
558
+ return ;
559
+ }
515
560
root. on_grpc_stream_trailing_metadata ( token_id, trailers) ;
516
561
}
517
562
}
@@ -521,31 +566,49 @@ impl Dispatcher {
521
566
if let Some ( context_id) = context_id {
522
567
if let Some ( http_stream) = self . http_streams . borrow_mut ( ) . get_mut ( & context_id) {
523
568
self . active_id . set ( context_id) ;
524
- hostcalls:: set_effective_context ( context_id) . unwrap ( ) ;
569
+ if let Err ( e) = hostcalls:: set_effective_context ( context_id) {
570
+ error ! ( "set_effective_context failed: {:?}" , e) ;
571
+ return ;
572
+ }
525
573
http_stream. on_grpc_call_response ( token_id, status_code, 0 ) ;
526
574
} else if let Some ( stream) = self . streams . borrow_mut ( ) . get_mut ( & context_id) {
527
575
self . active_id . set ( context_id) ;
528
- hostcalls:: set_effective_context ( context_id) . unwrap ( ) ;
576
+ if let Err ( e) = hostcalls:: set_effective_context ( context_id) {
577
+ error ! ( "set_effective_context failed: {:?}" , e) ;
578
+ return ;
579
+ }
529
580
stream. on_grpc_call_response ( token_id, status_code, 0 ) ;
530
581
} else if let Some ( root) = self . roots . borrow_mut ( ) . get_mut ( & context_id) {
531
582
self . active_id . set ( context_id) ;
532
- hostcalls:: set_effective_context ( context_id) . unwrap ( ) ;
583
+ if let Err ( e) = hostcalls:: set_effective_context ( context_id) {
584
+ error ! ( "set_effective_context failed: {:?}" , e) ;
585
+ return ;
586
+ }
533
587
root. on_grpc_call_response ( token_id, status_code, 0 ) ;
534
588
}
535
589
} else {
536
590
let context_id = self . grpc_streams . borrow_mut ( ) . remove ( & token_id) ;
537
591
if let Some ( context_id) = context_id {
538
592
if let Some ( http_stream) = self . http_streams . borrow_mut ( ) . get_mut ( & context_id) {
539
593
self . active_id . set ( context_id) ;
540
- hostcalls:: set_effective_context ( context_id) . unwrap ( ) ;
594
+ if let Err ( e) = hostcalls:: set_effective_context ( context_id) {
595
+ error ! ( "set_effective_context failed: {:?}" , e) ;
596
+ return ;
597
+ }
541
598
http_stream. on_grpc_stream_close ( token_id, status_code)
542
599
} else if let Some ( stream) = self . streams . borrow_mut ( ) . get_mut ( & context_id) {
543
600
self . active_id . set ( context_id) ;
544
- hostcalls:: set_effective_context ( context_id) . unwrap ( ) ;
601
+ if let Err ( e) = hostcalls:: set_effective_context ( context_id) {
602
+ error ! ( "set_effective_context failed: {:?}" , e) ;
603
+ return ;
604
+ }
545
605
stream. on_grpc_stream_close ( token_id, status_code)
546
606
} else if let Some ( root) = self . roots . borrow_mut ( ) . get_mut ( & context_id) {
547
607
self . active_id . set ( context_id) ;
548
- hostcalls:: set_effective_context ( context_id) . unwrap ( ) ;
608
+ if let Err ( e) = hostcalls:: set_effective_context ( context_id) {
609
+ error ! ( "set_effective_context failed: {:?}" , e) ;
610
+ return ;
611
+ }
549
612
root. on_grpc_stream_close ( token_id, status_code)
550
613
}
551
614
} else {
0 commit comments