-pub(super) enum UpdateSerializationMechanism {
- Full,
- Incremental(MutatedProperties),
- Reminder,
+pub(super) enum UpdateSerialization {
+ Full(UnsignedChannelUpdate),
+ Incremental(UnsignedChannelUpdate, MutatedProperties),
+ Reminder(u64, u8),
+}
+impl UpdateSerialization {
+ pub(super) fn scid(&self) -> u64 {
+ match self {
+ UpdateSerialization::Full(latest_update)|
+ UpdateSerialization::Incremental(latest_update, _) => latest_update.short_channel_id,
+ UpdateSerialization::Reminder(scid, _) => *scid,
+ }
+ }
+
+ fn flags(&self) -> u8 {
+ match self {
+ UpdateSerialization::Full(latest_update)|
+ UpdateSerialization::Incremental(latest_update, _) => latest_update.flags,
+ UpdateSerialization::Reminder(_, flags) => *flags,
+ }
+ }