File tree 1 file changed +3
-11
lines changed 1 file changed +3
-11
lines changed Original file line number Diff line number Diff line change @@ -1859,23 +1859,15 @@ impl Writeable for TrampolineOnionPacket {
1859
1859
1860
1860
impl LengthReadable for TrampolineOnionPacket {
1861
1861
fn read < R : LengthRead > ( r : & mut R ) -> Result < Self , DecodeError > {
1862
- const READ_BUFFER_SIZE : usize = 4096 ;
1863
-
1864
1862
let version = Readable :: read ( r) ?;
1865
1863
let public_key = Readable :: read ( r) ?;
1866
1864
1867
- let mut hop_data = Vec :: new ( ) ;
1868
1865
let hop_data_len = r. total_bytes ( ) . saturating_sub ( 66 ) as usize ; // 1 (version) + 33 (pubkey) + 32 (HMAC) = 66
1869
- let mut read_idx = 0 ;
1870
- while read_idx < hop_data_len {
1871
- let mut read_buffer = [ 0 ; READ_BUFFER_SIZE ] ;
1872
- let read_amt = cmp:: min ( hop_data_len - read_idx, READ_BUFFER_SIZE ) ;
1873
- r. read_exact ( & mut read_buffer[ ..read_amt] ) ?;
1874
- hop_data. extend_from_slice ( & read_buffer[ ..read_amt] ) ;
1875
- read_idx += read_amt;
1876
- }
1866
+ let mut rd = FixedLengthReader :: new ( r, hop_data_len as u64 ) ;
1867
+ let hop_data = WithoutLength :: < Vec < u8 > > :: read ( & mut rd) ?. 0 ;
1877
1868
1878
1869
let hmac = Readable :: read ( r) ?;
1870
+
1879
1871
Ok ( TrampolineOnionPacket {
1880
1872
version,
1881
1873
public_key,
You can’t perform that action at this time.
0 commit comments