@@ -30,16 +30,16 @@ impl Writer for VecWriter {
30
30
#[ macro_export]
31
31
macro_rules! test_msg {
32
32
( $MsgType: path, $data: ident) => { {
33
- use lightning:: util:: ser:: { Readable , Writeable } ;
34
- let mut r = :: lightning :: io :: Cursor :: new ( $data) ;
35
- if let Ok ( msg) = <$MsgType as Readable >:: read ( & mut r) {
36
- let p = r . position ( ) as usize ;
33
+ use lightning:: util:: ser:: { LengthReadable , Writeable } ;
34
+ let mut r = & $data[ .. ] ;
35
+ if let Ok ( msg) = <$MsgType as LengthReadable >:: read_from_fixed_length_buffer ( & mut r) {
36
+ let p = $data . len ( ) - r . len ( ) as usize ;
37
37
let mut w = VecWriter ( Vec :: new( ) ) ;
38
38
msg. write( & mut w) . unwrap( ) ;
39
39
40
40
assert_eq!( w. 0 . len( ) , p) ;
41
41
assert_eq!( msg. serialized_length( ) , p) ;
42
- assert_eq!( & r . into_inner ( ) [ ..p] , & w. 0 [ ..p] ) ;
42
+ assert_eq!( & $data [ ..p] , & w. 0 [ ..p] ) ;
43
43
}
44
44
} } ;
45
45
}
@@ -49,15 +49,16 @@ macro_rules! test_msg {
49
49
#[ macro_export]
50
50
macro_rules! test_msg_simple {
51
51
( $MsgType: path, $data: ident) => { {
52
- use lightning:: util:: ser:: { Readable , Writeable } ;
53
- let mut r = :: lightning:: io:: Cursor :: new( $data) ;
54
- if let Ok ( msg) = <$MsgType as Readable >:: read( & mut r) {
52
+ use lightning:: util:: ser:: { LengthReadable , Writeable } ;
53
+ if let Ok ( msg) =
54
+ <$MsgType as LengthReadable >:: read_from_fixed_length_buffer( & mut & $data[ ..] )
55
+ {
55
56
let mut w = VecWriter ( Vec :: new( ) ) ;
56
57
msg. write( & mut w) . unwrap( ) ;
57
58
assert_eq!( msg. serialized_length( ) , w. 0 . len( ) ) ;
58
59
59
60
let msg =
60
- <$MsgType as Readable >:: read ( & mut :: lightning :: io :: Cursor :: new ( & w. 0 ) ) . unwrap( ) ;
61
+ <$MsgType as LengthReadable >:: read_from_fixed_length_buffer ( & mut & w. 0 [ .. ] ) . unwrap( ) ;
61
62
let mut w_two = VecWriter ( Vec :: new( ) ) ;
62
63
msg. write( & mut w_two) . unwrap( ) ;
63
64
assert_eq!( & w. 0 [ ..] , & w_two. 0 [ ..] ) ;
@@ -70,12 +71,13 @@ macro_rules! test_msg_simple {
70
71
#[ macro_export]
71
72
macro_rules! test_msg_exact {
72
73
( $MsgType: path, $data: ident) => { {
73
- use lightning:: util:: ser:: { Readable , Writeable } ;
74
- let mut r = :: lightning:: io:: Cursor :: new( $data) ;
75
- if let Ok ( msg) = <$MsgType as Readable >:: read( & mut r) {
74
+ use lightning:: util:: ser:: { LengthReadable , Writeable } ;
75
+ if let Ok ( msg) =
76
+ <$MsgType as LengthReadable >:: read_from_fixed_length_buffer( & mut & $data[ ..] )
77
+ {
76
78
let mut w = VecWriter ( Vec :: new( ) ) ;
77
79
msg. write( & mut w) . unwrap( ) ;
78
- assert_eq!( & r . into_inner ( ) [ ..] , & w. 0 [ ..] ) ;
80
+ assert_eq!( & $data [ ..] , & w. 0 [ ..] ) ;
79
81
assert_eq!( msg. serialized_length( ) , w. 0 . len( ) ) ;
80
82
}
81
83
} } ;
@@ -86,17 +88,18 @@ macro_rules! test_msg_exact {
86
88
#[ macro_export]
87
89
macro_rules! test_msg_hole {
88
90
( $MsgType: path, $data: ident, $hole: expr, $hole_len: expr) => { {
89
- use lightning:: util:: ser:: { Readable , Writeable } ;
90
- let mut r = :: lightning:: io:: Cursor :: new( $data) ;
91
- if let Ok ( msg) = <$MsgType as Readable >:: read( & mut r) {
91
+ use lightning:: util:: ser:: { LengthReadable , Writeable } ;
92
+ if let Ok ( msg) =
93
+ <$MsgType as LengthReadable >:: read_from_fixed_length_buffer( & mut & $data[ ..] )
94
+ {
92
95
let mut w = VecWriter ( Vec :: new( ) ) ;
93
96
msg. write( & mut w) . unwrap( ) ;
94
97
let p = w. 0 . len( ) as usize ;
95
98
assert_eq!( msg. serialized_length( ) , p) ;
96
99
97
100
assert_eq!( w. 0 . len( ) , p) ;
98
- assert_eq!( & r . get_ref ( ) [ ..$hole] , & w. 0 [ ..$hole] ) ;
99
- assert_eq!( & r . get_ref ( ) [ $hole + $hole_len..p] , & w. 0 [ $hole + $hole_len..] ) ;
101
+ assert_eq!( & $data [ ..$hole] , & w. 0 [ ..$hole] ) ;
102
+ assert_eq!( & $data [ $hole + $hole_len..p] , & w. 0 [ $hole + $hole_len..] ) ;
100
103
}
101
104
} } ;
102
105
}
0 commit comments