Skip to content

Commit 802e9dd

Browse files
committed
Tweak serialization of ScorerUsingTime for better forward compat
1 parent 55fc0a1 commit 802e9dd

File tree

1 file changed

+19
-7
lines changed

1 file changed

+19
-7
lines changed

lightning/src/routing/scorer.rs

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -275,34 +275,46 @@ impl<T: Time> Writeable for ScorerUsingTime<T> {
275275
#[inline]
276276
fn write<W: Writer>(&self, w: &mut W) -> Result<(), io::Error> {
277277
self.params.write(w)?;
278-
self.channel_failures.write(w)
278+
self.channel_failures.write(w)?;
279+
write_tlv_fields!(w, {});
279280
}
280281
}
281282

282283
impl<T: Time> Readable for ScorerUsingTime<T> {
283284
#[inline]
284285
fn read<R: Read>(r: &mut R) -> Result<Self, DecodeError> {
285-
Ok(Self {
286+
let res = Ok(Self {
286287
params: Readable::read(r)?,
287288
channel_failures: Readable::read(r)?,
288-
})
289+
});
290+
read_tlv_fields!(w, {});
291+
res
289292
}
290293
}
291294

292295
impl<T: Time> Writeable for ChannelFailure<T> {
293296
#[inline]
294297
fn write<W: Writer>(&self, w: &mut W) -> Result<(), io::Error> {
295-
self.undecayed_penalty_msat.write(w)?;
296-
(T::duration_since_epoch() - self.last_failed.elapsed()).write(w)
298+
let duration_since_epoch = (T::duration_since_epoch() - self.last_failed.elapsed());
299+
write_tlv_fields!(w, {
300+
(0, self.undecayed_penalty_msat, required),
301+
(2, duration_since_epoch, required),
302+
});
297303
}
298304
}
299305

300306
impl<T: Time> Readable for ChannelFailure<T> {
301307
#[inline]
302308
fn read<R: Read>(r: &mut R) -> Result<Self, DecodeError> {
309+
let mut undecayed_penalty_msat = 0;
310+
let mut duration_since_epoch = Duration::from_secs(0);
311+
read_tlv_fields!(w, {
312+
(0, undecayed_penalty_msat, required),
313+
(2, duration_since_epoch, required),
314+
});
303315
Ok(Self {
304-
undecayed_penalty_msat: Readable::read(r)?,
305-
last_failed: T::now() - (T::duration_since_epoch() - Readable::read(r)?),
316+
undecayed_penalty_msat,
317+
last_failed: T::now() - (T::duration_since_epoch() - duration_since_epoch),
306318
})
307319
}
308320
}

0 commit comments

Comments
 (0)