@@ -3,7 +3,10 @@ use std::{sync::Arc, time::Duration};
33
44use addrman:: Record ;
55use bip324:: { AsyncProtocol , PacketReader , PacketWriter , Role } ;
6- use bitcoin:: { p2p:: ServiceFlags , Network } ;
6+ use bitcoin:: {
7+ p2p:: { message:: NetworkMessage , ServiceFlags } ,
8+ Network ,
9+ } ;
710use tokio:: {
811 io:: { AsyncRead , AsyncWrite , AsyncWriteExt , BufReader } ,
912 net:: TcpStream ,
@@ -19,8 +22,8 @@ use crate::{broadcaster::BroadcastQueue, messages::Warning, Dialog, Info};
1922
2023use super :: {
2124 error:: PeerError ,
22- outbound_messages :: { MessageGenerator , Transport } ,
23- parsers :: MessageParser ,
25+ inbound :: MessageParser ,
26+ outbound :: { MessageGenerator , Transport } ,
2427 reader:: { Reader , ReaderMessage } ,
2528 AddressBook , MainThreadMessage , MessageState , PeerId , PeerMessage , PeerThreadMessage ,
2629 PeerTimeoutConfig , TimeSensitiveId ,
@@ -102,7 +105,7 @@ impl Peer {
102105 ( outbound_messages, reader)
103106 } ;
104107
105- let message = outbound_messages. version_message ( None ) ? ;
108+ let message = outbound_messages. version_message ( None ) ;
106109 self . write_bytes ( & mut writer, message) . await ?;
107110 self . message_state . start_version_handshake ( ) ;
108111 let read_handle = tokio:: spawn ( async move { peer_reader. read_from_remote ( ) . await } ) ;
@@ -113,7 +116,7 @@ impl Peer {
113116 return Ok ( ( ) ) ;
114117 }
115118 if let Some ( nonce) = self . message_state . ping_state . send_ping ( ) {
116- let msg = outbound_messages. ping ( nonce) ? ;
119+ let msg = outbound_messages. ping ( nonce) ;
117120 self . write_bytes ( & mut writer, msg) . await ?;
118121 let msg_id = TimeSensitiveId :: PING ;
119122 self . message_state
@@ -261,7 +264,7 @@ impl Peer {
261264 for wtxid in requests {
262265 let transaction = tx_queue. fetch_tx ( wtxid) ;
263266 if let Some ( transaction) = transaction {
264- let msg = message_generator. broadcast_transaction ( transaction) ? ;
267+ let msg = message_generator. broadcast_transaction ( transaction) ;
265268 self . write_bytes ( writer, msg) . await ?;
266269 self . message_state . sent_tx ( wtxid) ;
267270 tx_queue. successful ( wtxid) ;
@@ -285,7 +288,7 @@ impl Peer {
285288 Ok ( ( ) )
286289 }
287290 ReaderMessage :: Ping ( nonce) => {
288- let message = message_generator. pong ( nonce) ? ;
291+ let message = message_generator. pong ( nonce) ;
289292 self . write_bytes ( writer, message) . await ?;
290293 Ok ( ( ) )
291294 }
@@ -333,38 +336,38 @@ impl Peer {
333336 }
334337 match request {
335338 MainThreadMessage :: GetAddr => {
336- let message = message_generator. addr ( ) ? ;
339+ let message = message_generator. serialize ( NetworkMessage :: GetAddr ) ;
337340 self . write_bytes ( writer, message) . await ?;
338341 }
339- MainThreadMessage :: GetAddrV2 => {
340- let message = message_generator. addrv2 ( ) ? ;
342+ MainThreadMessage :: SendAddrV2 => {
343+ let message = message_generator. serialize ( NetworkMessage :: SendAddrV2 ) ;
341344 self . write_bytes ( writer, message) . await ?;
342345 }
343346 MainThreadMessage :: WtxidRelay => {
344- let message = message_generator. wtxid_relay ( ) ? ;
347+ let message = message_generator. serialize ( NetworkMessage :: WtxidRelay ) ;
345348 self . write_bytes ( writer, message) . await ?;
346349 }
347350 MainThreadMessage :: SendHeaders => {
348- let message = message_generator. sendheaders ( ) ? ;
351+ let message = message_generator. serialize ( NetworkMessage :: SendHeaders ) ;
349352 self . write_bytes ( writer, message) . await ?;
350353 }
351354 MainThreadMessage :: GetHeaders ( config) => {
352- let message = message_generator. headers ( config) ? ;
355+ let message = message_generator. headers ( config) ;
353356 self . write_bytes ( writer, message) . await ?;
354357 }
355358 MainThreadMessage :: GetFilterHeaders ( config) => {
356- let message = message_generator. cf_headers ( config) ? ;
359+ let message = message_generator. cf_headers ( config) ;
357360 self . write_bytes ( writer, message) . await ?;
358361 }
359362 MainThreadMessage :: GetFilters ( config) => {
360363 self . message_state
361364 . filter_rate
362365 . batch_requested ( config. stop_hash ) ;
363- let message = message_generator. filters ( config) ? ;
366+ let message = message_generator. filters ( config) ;
364367 self . write_bytes ( writer, message) . await ?;
365368 }
366369 MainThreadMessage :: GetBlock ( message) => {
367- let message = message_generator. block ( message) ? ;
370+ let message = message_generator. block ( message) ;
368371 self . write_bytes ( writer, message) . await ?;
369372 }
370373 MainThreadMessage :: BroadcastPending => {
@@ -377,12 +380,12 @@ impl Peer {
377380 queue. pending_wtxid ( )
378381 } ;
379382 if !wtxids. is_empty ( ) {
380- let message = message_generator. announce_transactions ( wtxids) ? ;
383+ let message = message_generator. announce_transactions ( wtxids) ;
381384 self . write_bytes ( writer, message) . await ?;
382385 }
383386 }
384387 MainThreadMessage :: Verack => {
385- let message = message_generator. verack ( ) ? ;
388+ let message = message_generator. serialize ( NetworkMessage :: Verack ) ;
386389 self . write_bytes ( writer, message) . await ?;
387390 self . message_state . verack . sent_ack ( ) ;
388391 if self . message_state . verack . both_acks ( ) {
@@ -395,7 +398,7 @@ impl Peer {
395398 queue. pending_wtxid ( )
396399 } ;
397400 if !wtxids. is_empty ( ) {
398- let message = message_generator. announce_transactions ( wtxids) ? ;
401+ let message = message_generator. announce_transactions ( wtxids) ;
399402 self . write_bytes ( writer, message) . await ?;
400403 }
401404 }
0 commit comments