@@ -24,6 +24,7 @@ use ln::channelmanager::{SimpleArcChannelManager, SimpleRefChannelManager};
2424use util:: ser:: { VecWriter , Writeable , Writer } ;
2525use ln:: peer_channel_encryptor:: { PeerChannelEncryptor , NextNoiseStep } ;
2626use ln:: wire;
27+ use ln:: wire:: Encode ;
2728use util:: atomic_counter:: AtomicCounter ;
2829use util:: events:: { MessageSendEvent , MessageSendEventsProvider } ;
2930use util:: logger:: Logger ;
@@ -757,7 +758,12 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref, CMH: Deref> P
757758 fn enqueue_message < M : wire:: Type > ( & self , peer : & mut Peer , message : & M ) {
758759 let mut buffer = VecWriter ( Vec :: with_capacity ( 2048 ) ) ;
759760 wire:: write ( message, & mut buffer) . unwrap ( ) ; // crash if the write failed
760- log_trace ! ( self . logger, "Enqueueing message {:?} to {}" , message, log_pubkey!( peer. their_node_id. unwrap( ) ) ) ;
761+
762+ if is_gossip_msg ( message. type_id ( ) ) {
763+ log_gossip ! ( self . logger, "Enqueueing message {:?} to {}" , message, log_pubkey!( peer. their_node_id. unwrap( ) ) ) ;
764+ } else {
765+ log_trace ! ( self . logger, "Enqueueing message {:?} to {}" , message, log_pubkey!( peer. their_node_id. unwrap( ) ) )
766+ }
761767 self . enqueue_encoded_message ( peer, & buffer. 0 ) ;
762768 }
763769
@@ -892,7 +898,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref, CMH: Deref> P
892898 match e {
893899 msgs:: DecodeError :: UnknownVersion => return Err ( PeerHandleError { no_connection_possible : false } ) ,
894900 msgs:: DecodeError :: UnknownRequiredFeature => {
895- log_trace ! ( self . logger, "Got a channel/node announcement with an known required feature flag, you may want to update!" ) ;
901+ log_gossip ! ( self . logger, "Got a channel/node announcement with an unknown required feature flag, you may want to update!" ) ;
896902 continue ;
897903 }
898904 msgs:: DecodeError :: InvalidValue => {
@@ -906,7 +912,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref, CMH: Deref> P
906912 msgs:: DecodeError :: BadLengthDescriptor => return Err ( PeerHandleError { no_connection_possible : false } ) ,
907913 msgs:: DecodeError :: Io ( _) => return Err ( PeerHandleError { no_connection_possible : false } ) ,
908914 msgs:: DecodeError :: UnsupportedCompression => {
909- log_trace ! ( self . logger, "We don't support zlib-compressed message fields, ignoring message" ) ;
915+ log_gossip ! ( self . logger, "We don't support zlib-compressed message fields, ignoring message" ) ;
910916 continue ;
911917 }
912918 }
@@ -953,7 +959,12 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref, CMH: Deref> P
953959 peer : & mut Peer ,
954960 message : wire:: Message < <<CMH as core:: ops:: Deref >:: Target as wire:: CustomMessageReader >:: CustomMessage >
955961 ) -> Result < Option < wire:: Message < <<CMH as core:: ops:: Deref >:: Target as wire:: CustomMessageReader >:: CustomMessage > > , MessageHandlingError > {
956- log_trace ! ( self . logger, "Received message {:?} from {}" , message, log_pubkey!( peer. their_node_id. unwrap( ) ) ) ;
962+ if is_gossip_msg ( message. type_id ( ) ) {
963+ log_gossip ! ( self . logger, "Received message {:?} from {}" , message, log_pubkey!( peer. their_node_id. unwrap( ) ) ) ;
964+ } else {
965+ log_trace ! ( self . logger, "Received message {:?} from {}" , message, log_pubkey!( peer. their_node_id. unwrap( ) ) ) ;
966+ }
967+
957968 peer. received_message_since_timer_tick = true ;
958969
959970 // Need an Init as first message
@@ -1132,7 +1143,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref, CMH: Deref> P
11321143 fn forward_broadcast_msg ( & self , peers : & mut PeerHolder < Descriptor > , msg : & wire:: Message < <<CMH as core:: ops:: Deref >:: Target as wire:: CustomMessageReader >:: CustomMessage > , except_node : Option < & PublicKey > ) {
11331144 match msg {
11341145 wire:: Message :: ChannelAnnouncement ( ref msg) => {
1135- log_trace ! ( self . logger, "Sending message to all peers except {:?} or the announced channel's counterparties: {:?}" , except_node, msg) ;
1146+ log_gossip ! ( self . logger, "Sending message to all peers except {:?} or the announced channel's counterparties: {:?}" , except_node, msg) ;
11361147 let encoded_msg = encode_msg ! ( msg) ;
11371148
11381149 for ( _, peer) in peers. peers . iter_mut ( ) {
@@ -1143,7 +1154,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref, CMH: Deref> P
11431154 if peer. pending_outbound_buffer . len ( ) > OUTBOUND_BUFFER_LIMIT_DROP_GOSSIP
11441155 || peer. msgs_sent_since_pong > BUFFER_DRAIN_MSGS_PER_TICK * FORWARD_INIT_SYNC_BUFFER_LIMIT_RATIO
11451156 {
1146- log_trace ! ( self . logger, "Skipping broadcast message to {:?} as its outbound buffer is full" , peer. their_node_id) ;
1157+ log_gossip ! ( self . logger, "Skipping broadcast message to {:?} as its outbound buffer is full" , peer. their_node_id) ;
11471158 continue ;
11481159 }
11491160 if peer. their_node_id . as_ref ( ) == Some ( & msg. contents . node_id_1 ) ||
@@ -1157,7 +1168,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref, CMH: Deref> P
11571168 }
11581169 } ,
11591170 wire:: Message :: NodeAnnouncement ( ref msg) => {
1160- log_trace ! ( self . logger, "Sending message to all peers except {:?} or the announced node: {:?}" , except_node, msg) ;
1171+ log_gossip ! ( self . logger, "Sending message to all peers except {:?} or the announced node: {:?}" , except_node, msg) ;
11611172 let encoded_msg = encode_msg ! ( msg) ;
11621173
11631174 for ( _, peer) in peers. peers . iter_mut ( ) {
@@ -1168,7 +1179,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref, CMH: Deref> P
11681179 if peer. pending_outbound_buffer . len ( ) > OUTBOUND_BUFFER_LIMIT_DROP_GOSSIP
11691180 || peer. msgs_sent_since_pong > BUFFER_DRAIN_MSGS_PER_TICK * FORWARD_INIT_SYNC_BUFFER_LIMIT_RATIO
11701181 {
1171- log_trace ! ( self . logger, "Skipping broadcast message to {:?} as its outbound buffer is full" , peer. their_node_id) ;
1182+ log_gossip ! ( self . logger, "Skipping broadcast message to {:?} as its outbound buffer is full" , peer. their_node_id) ;
11721183 continue ;
11731184 }
11741185 if peer. their_node_id . as_ref ( ) == Some ( & msg. contents . node_id ) {
@@ -1181,7 +1192,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref, CMH: Deref> P
11811192 }
11821193 } ,
11831194 wire:: Message :: ChannelUpdate ( ref msg) => {
1184- log_trace ! ( self . logger, "Sending message to all peers except {:?}: {:?}" , except_node, msg) ;
1195+ log_gossip ! ( self . logger, "Sending message to all peers except {:?}: {:?}" , except_node, msg) ;
11851196 let encoded_msg = encode_msg ! ( msg) ;
11861197
11871198 for ( _, peer) in peers. peers . iter_mut ( ) {
@@ -1192,7 +1203,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref, CMH: Deref> P
11921203 if peer. pending_outbound_buffer . len ( ) > OUTBOUND_BUFFER_LIMIT_DROP_GOSSIP
11931204 || peer. msgs_sent_since_pong > BUFFER_DRAIN_MSGS_PER_TICK * FORWARD_INIT_SYNC_BUFFER_LIMIT_RATIO
11941205 {
1195- log_trace ! ( self . logger, "Skipping broadcast message to {:?} as its outbound buffer is full" , peer. their_node_id) ;
1206+ log_gossip ! ( self . logger, "Skipping broadcast message to {:?} as its outbound buffer is full" , peer. their_node_id) ;
11961207 continue ;
11971208 }
11981209 if except_node. is_some ( ) && peer. their_node_id . as_ref ( ) == except_node {
@@ -1377,7 +1388,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref, CMH: Deref> P
13771388 // room in the send buffer, put the error message there...
13781389 self . do_attempt_write_data ( & mut descriptor, & mut peer) ;
13791390 } else {
1380- log_trace ! ( self . logger, "Handling DisconnectPeer HandleError event in peer_handler for node {} with no message" , log_pubkey!( node_id) ) ;
1391+ log_gossip ! ( self . logger, "Handling DisconnectPeer HandleError event in peer_handler for node {} with no message" , log_pubkey!( node_id) ) ;
13811392 }
13821393 }
13831394 descriptor. disconnect_socket ( ) ;
@@ -1405,7 +1416,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref, CMH: Deref> P
14051416 self . enqueue_message ( get_peer_for_forwarding ! ( node_id) , msg) ;
14061417 }
14071418 MessageSendEvent :: SendReplyChannelRange { ref node_id, ref msg } => {
1408- log_trace ! ( self . logger, "Handling SendReplyChannelRange event in peer_handler for node {} with num_scids={} first_blocknum={} number_of_blocks={}, sync_complete={}" ,
1419+ log_gossip ! ( self . logger, "Handling SendReplyChannelRange event in peer_handler for node {} with num_scids={} first_blocknum={} number_of_blocks={}, sync_complete={}" ,
14091420 log_pubkey!( node_id) ,
14101421 msg. short_channel_ids. len( ) ,
14111422 msg. first_blocknum,
@@ -1588,6 +1599,15 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref, CMH: Deref> P
15881599 }
15891600}
15901601
1602+ fn is_gossip_msg ( type_id : u16 ) -> bool {
1603+ match type_id {
1604+ msgs:: ChannelAnnouncement :: TYPE |
1605+ msgs:: ChannelUpdate :: TYPE |
1606+ msgs:: NodeAnnouncement :: TYPE => true ,
1607+ _ => false
1608+ }
1609+ }
1610+
15911611#[ cfg( test) ]
15921612mod tests {
15931613 use ln:: peer_handler:: { PeerManager , MessageHandler , SocketDescriptor , IgnoringMessageHandler } ;
0 commit comments