@@ -323,7 +323,9 @@ impl Handler {
323
323
let id = request. id. clone( ) ;
324
324
if let Err ( request_error) = self . send_request( contact, * request) . await {
325
325
// If the sending failed report to the application
326
- let _ = self . service_send. send( HandlerOut :: RequestFailed ( id, request_error) ) . await ;
326
+ if let Err ( e) = self . service_send. send( HandlerOut :: RequestFailed ( id, request_error) ) . await {
327
+ warn!( "Failed to inform that request failed {}" , e)
328
+ }
327
329
}
328
330
}
329
331
HandlerIn :: Response ( dst, response) => self . send_response( dst, * response) . await ,
@@ -450,9 +452,7 @@ impl Handler {
450
452
contact : NodeContact ,
451
453
request : Request ,
452
454
) -> Result < ( ) , RequestError > {
453
- let node_address = contact
454
- . node_address ( )
455
- . map_err ( |e| RequestError :: InvalidEnr ( e. into ( ) ) ) ?;
455
+ let node_address = contact. node_address ( ) . map_err ( RequestError :: InvalidEnr ) ?;
456
456
457
457
if node_address. socket_addr == self . listen_socket {
458
458
debug ! ( "Filtered request to self" ) ;
@@ -718,7 +718,9 @@ impl Handler {
718
718
} ;
719
719
720
720
session. awaiting_enr = Some ( id) ;
721
- let _ = self . send_request ( contact, request) . await ;
721
+ if let Err ( e) = self . send_request ( contact, request) . await {
722
+ warn ! ( "Failed to send Enr request {}" , e)
723
+ }
722
724
}
723
725
}
724
726
self . new_session ( node_address, session) ;
@@ -772,10 +774,13 @@ impl Handler {
772
774
// Notify the application
773
775
// The session established here are from WHOAREYOU packets that we sent.
774
776
// This occurs when a node established a connection with us.
775
- let _ = self
777
+ if let Err ( e ) = self
776
778
. service_send
777
779
. send ( HandlerOut :: Established ( enr, ConnectionDirection :: Incoming ) )
778
- . await ;
780
+ . await
781
+ {
782
+ warn ! ( "Failed to inform of established session {}" , e)
783
+ }
779
784
self . new_session ( node_address. clone ( ) , session) ;
780
785
self . handle_message (
781
786
node_address,
@@ -834,7 +839,9 @@ impl Handler {
834
839
entry. remove ( ) ;
835
840
}
836
841
trace ! ( "Sending next awaiting message. Node: {}" , request. 0 ) ;
837
- let _ = self . send_request ( request. 0 , request. 1 ) . await ;
842
+ if let Err ( e) = self . send_request ( request. 0 , request. 1 ) . await {
843
+ warn ! ( "Failed to send next awaiting request {}" , e)
844
+ }
838
845
}
839
846
}
840
847
}
@@ -877,10 +884,13 @@ impl Handler {
877
884
// Update the cache time and remove expired entries.
878
885
if self . active_challenges . peek ( & node_address) . is_none ( ) {
879
886
let whoareyou_ref = WhoAreYouRef ( node_address, message_nonce) ;
880
- let _ = self
887
+ if let Err ( e ) = self
881
888
. service_send
882
889
. send ( HandlerOut :: WhoAreYou ( whoareyou_ref) )
883
- . await ;
890
+ . await
891
+ {
892
+ warn ! ( "Failed to send WhoAreYou to the service {}" , e)
893
+ }
884
894
} else {
885
895
trace ! ( "WHOAREYOU packet already sent: {}" , node_address) ;
886
896
}
@@ -894,10 +904,13 @@ impl Handler {
894
904
match message {
895
905
Message :: Request ( request) => {
896
906
// report the request to the application
897
- let _ = self
907
+ if let Err ( e ) = self
898
908
. service_send
899
909
. send ( HandlerOut :: Request ( node_address, Box :: new ( request) ) )
900
- . await ;
910
+ . await
911
+ {
912
+ warn ! ( "Failed to report request to application {}" , e)
913
+ }
901
914
}
902
915
Message :: Response ( response) => {
903
916
// Sessions could be awaiting an ENR response. Check if this response matches
@@ -914,13 +927,16 @@ impl Handler {
914
927
// This can occur when we try to dial a node without an
915
928
// ENR. In this case we have attempted to establish the
916
929
// connection, so this is an outgoing connection.
917
- let _ = self
930
+ if let Err ( e ) = self
918
931
. service_send
919
932
. send ( HandlerOut :: Established (
920
933
enr,
921
934
ConnectionDirection :: Outgoing ,
922
935
) )
923
- . await ;
936
+ . await
937
+ {
938
+ warn ! ( "Failed to inform established outgoing connection {}" , e)
939
+ }
924
940
return ;
925
941
}
926
942
}
@@ -943,10 +959,16 @@ impl Handler {
943
959
trace ! ( "Requesting a WHOAREYOU packet to be sent." ) ;
944
960
// spawn a WHOAREYOU event to check for highest known ENR
945
961
let whoareyou_ref = WhoAreYouRef ( node_address, message_nonce) ;
946
- let _ = self
962
+ if let Err ( e ) = self
947
963
. service_send
948
964
. send ( HandlerOut :: WhoAreYou ( whoareyou_ref) )
949
- . await ;
965
+ . await
966
+ {
967
+ warn ! (
968
+ "Spawn a WHOAREYOU event to check for highest known ENR failed {}" ,
969
+ e
970
+ )
971
+ }
950
972
}
951
973
}
952
974
@@ -979,10 +1001,13 @@ impl Handler {
979
1001
// add back the request and send the response
980
1002
self . active_requests
981
1003
. insert ( node_address. clone ( ) , request_call) ;
982
- let _ = self
1004
+ if let Err ( e ) = self
983
1005
. service_send
984
1006
. send ( HandlerOut :: Response ( node_address, Box :: new ( response) ) )
985
- . await ;
1007
+ . await
1008
+ {
1009
+ warn ! ( "Failed to inform of response {}" , e)
1010
+ }
986
1011
return ;
987
1012
}
988
1013
} else {
@@ -991,10 +1016,13 @@ impl Handler {
991
1016
// add back the request and send the response
992
1017
self . active_requests
993
1018
. insert ( node_address. clone ( ) , request_call) ;
994
- let _ = self
1019
+ if let Err ( e ) = self
995
1020
. service_send
996
1021
. send ( HandlerOut :: Response ( node_address, Box :: new ( response) ) )
997
- . await ;
1022
+ . await
1023
+ {
1024
+ warn ! ( "Failed to inform of response {}" , e)
1025
+ }
998
1026
return ;
999
1027
}
1000
1028
}
@@ -1004,13 +1032,16 @@ impl Handler {
1004
1032
self . remove_expected_response ( node_address. socket_addr ) ;
1005
1033
1006
1034
// The request matches report the response
1007
- let _ = self
1035
+ if let Err ( e ) = self
1008
1036
. service_send
1009
1037
. send ( HandlerOut :: Response (
1010
1038
node_address. clone ( ) ,
1011
1039
Box :: new ( response) ,
1012
1040
) )
1013
- . await ;
1041
+ . await
1042
+ {
1043
+ warn ! ( "Failed to inform of response {}" , e)
1044
+ }
1014
1045
self . send_next_request ( node_address) . await ;
1015
1046
} else {
1016
1047
// This is likely a late response and we have already failed the request. These get
@@ -1050,10 +1081,13 @@ impl Handler {
1050
1081
// The Request has expired, remove the session.
1051
1082
// Fail the current request
1052
1083
let request_id = request_call. request . id ;
1053
- let _ = self
1084
+ if let Err ( e ) = self
1054
1085
. service_send
1055
1086
. send ( HandlerOut :: RequestFailed ( request_id, error. clone ( ) ) )
1056
- . await ;
1087
+ . await
1088
+ {
1089
+ warn ! ( "Failed to inform request failure {}" , e)
1090
+ }
1057
1091
1058
1092
let node_address = request_call
1059
1093
. contact
@@ -1076,15 +1110,16 @@ impl Handler {
1076
1110
. active_sessions
1077
1111
. store ( self . sessions . len ( ) , Ordering :: Relaxed ) ;
1078
1112
}
1079
- for request in self
1080
- . pending_requests
1081
- . remove ( node_address)
1082
- . unwrap_or_else ( Vec :: new)
1083
- {
1084
- let _ = self
1085
- . service_send
1086
- . send ( HandlerOut :: RequestFailed ( request. 1 . id , error. clone ( ) ) )
1087
- . await ;
1113
+ if let Some ( to_remove) = self . pending_requests . remove ( node_address) {
1114
+ for request in to_remove {
1115
+ if let Err ( e) = self
1116
+ . service_send
1117
+ . send ( HandlerOut :: RequestFailed ( request. 1 . id , error. clone ( ) ) )
1118
+ . await
1119
+ {
1120
+ warn ! ( "Failed to inform request failure {}" , e)
1121
+ }
1122
+ }
1088
1123
}
1089
1124
}
1090
1125
@@ -1094,7 +1129,9 @@ impl Handler {
1094
1129
node_address,
1095
1130
packet,
1096
1131
} ;
1097
- let _ = self . socket . send . send ( outbound_packet) . await ;
1132
+ if let Err ( e) = self . socket . send . send ( outbound_packet) . await {
1133
+ warn ! ( "Failed to send outbound packet {}" , e)
1134
+ }
1098
1135
}
1099
1136
1100
1137
/// Check if any banned nodes have served their time and unban them.
0 commit comments