projects
/
rust-lightning
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
55fc0a1
)
Tweak serialization of ScorerUsingTime for better forward compat
author
Matt Corallo
<git@bluematt.me>
Wed, 3 Nov 2021 01:11:25 +0000
(
01:11
+0000)
committer
Matt Corallo
<git@bluematt.me>
Wed, 3 Nov 2021 01:30:03 +0000
(
01:30
+0000)
lightning/src/routing/scorer.rs
patch
|
blob
|
history
diff --git
a/lightning/src/routing/scorer.rs
b/lightning/src/routing/scorer.rs
index 956b09a54211e4dd90b9d6585c5c0aadb43edc47..8b5fae70abdbffa34e6a365f312eb654f5165d84 100644
(file)
--- a/
lightning/src/routing/scorer.rs
+++ b/
lightning/src/routing/scorer.rs
@@
-275,34
+275,48
@@
impl<T: Time> Writeable for ScorerUsingTime<T> {
#[inline]
fn write<W: Writer>(&self, w: &mut W) -> Result<(), io::Error> {
self.params.write(w)?;
#[inline]
fn write<W: Writer>(&self, w: &mut W) -> Result<(), io::Error> {
self.params.write(w)?;
- self.channel_failures.write(w)
+ self.channel_failures.write(w)?;
+ write_tlv_fields!(w, {});
+ Ok(())
}
}
impl<T: Time> Readable for ScorerUsingTime<T> {
#[inline]
fn read<R: Read>(r: &mut R) -> Result<Self, DecodeError> {
}
}
impl<T: Time> Readable for ScorerUsingTime<T> {
#[inline]
fn read<R: Read>(r: &mut R) -> Result<Self, DecodeError> {
- Ok(Self {
+
let res =
Ok(Self {
params: Readable::read(r)?,
channel_failures: Readable::read(r)?,
params: Readable::read(r)?,
channel_failures: Readable::read(r)?,
- })
+ });
+ read_tlv_fields!(r, {});
+ res
}
}
impl<T: Time> Writeable for ChannelFailure<T> {
#[inline]
fn write<W: Writer>(&self, w: &mut W) -> Result<(), io::Error> {
}
}
impl<T: Time> Writeable for ChannelFailure<T> {
#[inline]
fn write<W: Writer>(&self, w: &mut W) -> Result<(), io::Error> {
- self.undecayed_penalty_msat.write(w)?;
- (T::duration_since_epoch() - self.last_failed.elapsed()).write(w)
+ let duration_since_epoch = T::duration_since_epoch() - self.last_failed.elapsed();
+ write_tlv_fields!(w, {
+ (0, self.undecayed_penalty_msat, required),
+ (2, duration_since_epoch, required),
+ });
+ Ok(())
}
}
impl<T: Time> Readable for ChannelFailure<T> {
#[inline]
fn read<R: Read>(r: &mut R) -> Result<Self, DecodeError> {
}
}
impl<T: Time> Readable for ChannelFailure<T> {
#[inline]
fn read<R: Read>(r: &mut R) -> Result<Self, DecodeError> {
+ let mut undecayed_penalty_msat = 0;
+ let mut duration_since_epoch = Duration::from_secs(0);
+ read_tlv_fields!(r, {
+ (0, undecayed_penalty_msat, required),
+ (2, duration_since_epoch, required),
+ });
Ok(Self {
Ok(Self {
- undecayed_penalty_msat
: Readable::read(r)?
,
- last_failed: T::now() - (T::duration_since_epoch() -
Readable::read(r)?
),
+ undecayed_penalty_msat,
+ last_failed: T::now() - (T::duration_since_epoch() -
duration_since_epoch
),
})
}
}
})
}
}