14
14
#[ macro_export]
15
15
macro_rules! encode_tlv {
16
16
( $stream: expr, $type: expr, $field: expr, ( default_value, $default: expr) ) => {
17
- encode_tlv!( $stream, $type, $field, required)
17
+ $crate :: encode_tlv!( $stream, $type, $field, required)
18
18
} ;
19
19
( $stream: expr, $type: expr, $field: expr, required) => {
20
20
BigSize ( $type) . write( $stream) ?;
21
21
BigSize ( $field. serialized_length( ) as u64 ) . write( $stream) ?;
22
22
$field. write( $stream) ?;
23
23
} ;
24
24
( $stream: expr, $type: expr, $field: expr, vec_type) => {
25
- encode_tlv!( $stream, $type, ser:: VecWriteWrapper ( & $field) , required) ;
25
+ $crate :: encode_tlv!( $stream, $type, ser:: VecWriteWrapper ( & $field) , required) ;
26
26
} ;
27
27
( $stream: expr, $optional_type: expr, $optional_field: expr, option) => {
28
28
if let Some ( ref field) = $optional_field {
@@ -45,7 +45,7 @@ macro_rules! encode_tlv_stream {
45
45
} ;
46
46
47
47
$(
48
- encode_tlv!( $stream, $type, $field, $fieldty) ;
48
+ $crate :: encode_tlv!( $stream, $type, $field, $fieldty) ;
49
49
) *
50
50
51
51
#[ allow( unused_mut, unused_variables, unused_assignments) ]
@@ -162,7 +162,7 @@ macro_rules! check_missing_tlv {
162
162
#[ macro_export]
163
163
macro_rules! decode_tlv {
164
164
( $reader: expr, $field: ident, ( default_value, $default: expr) ) => { {
165
- decode_tlv!( $reader, $field, required)
165
+ $crate :: decode_tlv!( $reader, $field, required)
166
166
} } ;
167
167
( $reader: expr, $field: ident, required) => { {
168
168
$field = ser:: Readable :: read( & mut $reader) ?;
@@ -218,7 +218,7 @@ macro_rules! decode_tlv_stream {
218
218
}
219
219
// As we read types, make sure we hit every required type between last_seen_type and typ:
220
220
$( {
221
- check_tlv_order!( last_seen_type, typ, $type, $field, $fieldty) ;
221
+ $crate :: check_tlv_order!( last_seen_type, typ, $type, $field, $fieldty) ;
222
222
} ) *
223
223
last_seen_type = Some ( typ. 0 ) ;
224
224
@@ -227,7 +227,7 @@ macro_rules! decode_tlv_stream {
227
227
let mut s = ser:: FixedLengthReader :: new( & mut stream_ref, length. 0 ) ;
228
228
match typ. 0 {
229
229
$( $type => {
230
- decode_tlv!( s, $field, $fieldty) ;
230
+ $crate :: decode_tlv!( s, $field, $fieldty) ;
231
231
if s. bytes_remain( ) {
232
232
s. eat_remaining( ) ?; // Return ShortRead if there's actually not enough bytes
233
233
return Err ( DecodeError :: InvalidValue ) ;
@@ -242,16 +242,14 @@ macro_rules! decode_tlv_stream {
242
242
}
243
243
// Make sure we got to each required type after we've read every TLV:
244
244
$( {
245
- check_missing_tlv!( last_seen_type, $type, $field, $fieldty) ;
245
+ $crate :: check_missing_tlv!( last_seen_type, $type, $field, $fieldty) ;
246
246
} ) *
247
247
} }
248
248
}
249
249
250
250
/// Implements Readable/Writeable for a struct. This macro also handles (de)serialization of TLV records.
251
251
/// # Example
252
252
/// ```
253
- /// use lightning::*;
254
- ///
255
253
/// #[derive(Debug)]
256
254
/// pub struct LightningMessage {
257
255
/// pub to: String,
@@ -262,7 +260,7 @@ macro_rules! decode_tlv_stream {
262
260
/// pub street_number: Option<u16>,
263
261
/// }
264
262
///
265
- /// impl_writeable_msg!(LightningMessage, {
263
+ /// lightning:: impl_writeable_msg!(LightningMessage, {
266
264
/// to,
267
265
/// note,
268
266
/// secret_number,
@@ -277,15 +275,15 @@ macro_rules! impl_writeable_msg {
277
275
impl $crate:: util:: ser:: Writeable for $st {
278
276
fn write<W : $crate:: util:: ser:: Writer >( & self , w: & mut W ) -> Result <( ) , $crate:: io:: Error > {
279
277
$( self . $field. write( w) ?; ) *
280
- encode_tlv_stream!( w, { $( ( $type, self . $tlvfield, $fieldty) ) ,* } ) ;
278
+ $crate :: encode_tlv_stream!( w, { $( ( $type, self . $tlvfield, $fieldty) ) ,* } ) ;
281
279
Ok ( ( ) )
282
280
}
283
281
}
284
282
impl $crate:: util:: ser:: Readable for $st {
285
283
fn read<R : $crate:: io:: Read >( r: & mut R ) -> Result <Self , $crate:: ln:: msgs:: DecodeError > {
286
284
$( let $field = $crate:: util:: ser:: Readable :: read( r) ?; ) *
287
- $( init_tlv_field_var!( $tlvfield, $fieldty) ; ) *
288
- decode_tlv_stream!( r, { $( ( $type, $tlvfield, $fieldty) ) ,* } ) ;
285
+ $( $crate :: init_tlv_field_var!( $tlvfield, $fieldty) ; ) *
286
+ $crate :: decode_tlv_stream!( r, { $( ( $type, $tlvfield, $fieldty) ) ,* } ) ;
289
287
Ok ( Self {
290
288
$( $field) ,* ,
291
289
$( $tlvfield) ,*
0 commit comments