@@ -662,29 +662,28 @@ impl ActiveRelayActor {
662
662
state. last_packet_src = Some ( remote_node_id) ;
663
663
state. nodes_present . insert ( remote_node_id) ;
664
664
}
665
- match crate :: disco:: source_and_box_bytes ( & data) {
666
- Some ( ( source, sealed_box) ) => {
667
- if remote_node_id != source {
668
- // TODO: return here?
669
- warn ! ( "Received relay disco message from connection for {}, but with message from {}" , remote_node_id. fmt_short( ) , source. fmt_short( ) ) ;
670
- }
671
- let message = RelayDiscoMessage {
672
- source,
673
- sealed_box,
674
- relay_url : self . url . clone ( ) ,
675
- relay_remote_node_id : remote_node_id,
676
- } ;
677
- if let Err ( err) = self . relay_disco_recv . try_send ( message) {
678
- warn ! ( "Dropping received relay disco packet: {err:#}" ) ;
679
- }
680
- }
681
- None => {
682
- for datagram in PacketSplitIter :: new ( self . url . clone ( ) , remote_node_id, data)
683
- {
684
- let Ok ( datagram) = datagram else {
685
- warn ! ( "Invalid packet split" ) ;
686
- break ;
665
+ for datagram in PacketSplitIter :: new ( self . url . clone ( ) , remote_node_id, data) {
666
+ let Ok ( datagram) = datagram else {
667
+ warn ! ( "Invalid packet split" ) ;
668
+ break ;
669
+ } ;
670
+ match crate :: disco:: source_and_box_bytes ( & datagram. buf ) {
671
+ Some ( ( source, sealed_box) ) => {
672
+ if remote_node_id != source {
673
+ // TODO: return here?
674
+ warn ! ( "Received relay disco message from connection for {}, but with message from {}" , remote_node_id. fmt_short( ) , source. fmt_short( ) ) ;
675
+ }
676
+ let message = RelayDiscoMessage {
677
+ source,
678
+ sealed_box,
679
+ relay_url : datagram. url . clone ( ) ,
680
+ relay_remote_node_id : datagram. src ,
687
681
} ;
682
+ if let Err ( err) = self . relay_disco_recv . try_send ( message) {
683
+ warn ! ( "Dropping received relay disco packet: {err:#}" ) ;
684
+ }
685
+ }
686
+ None => {
688
687
if let Err ( err) = self . relay_datagrams_recv . try_send ( datagram) {
689
688
warn ! ( "Dropping received relay data packet: {err:#}" ) ;
690
689
}
0 commit comments