From cd38c0940cb1a0e744065b81ef9393565484d55c Mon Sep 17 00:00:00 2001 From: Dominik Werder Date: Wed, 23 Jul 2025 23:54:59 +0200 Subject: [PATCH] Add type for query option --- src/channelstatus.rs | 8 ++++++++ src/netpod.rs | 29 +++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/src/channelstatus.rs b/src/channelstatus.rs index 2d6de12..cd8ab44 100644 --- a/src/channelstatus.rs +++ b/src/channelstatus.rs @@ -25,7 +25,9 @@ pub enum ChannelStatus { AssignedToAddress, Opened, Closed(ChannelStatusClosedReason), + Ping, Pong, + PongTimeout, MonitoringSilenceReadStart, MonitoringSilenceReadTimeout, MonitoringSilenceReadUnchanged, @@ -69,6 +71,8 @@ impl ChannelStatus { MonitoringReadDiffTime => 33, MonitoringReadDiffValue => 34, PollingReadTimeout => 35, + Ping => 36, + PongTimeout => 37, } } @@ -100,6 +104,8 @@ impl ChannelStatus { 33 => MonitoringReadDiffTime, 34 => MonitoringReadDiffValue, 35 => PollingReadTimeout, + 36 => Ping, + 37 => PongTimeout, _ => { return Err(Error::UnknownStatus); } @@ -117,7 +123,9 @@ impl ChannelStatus { AssignedToAddress => "Located", Opened => "Opened", Closed(_) => "Closed", + Ping => "Pingg", Pong => "Pongg", + PongTimeout => "PongTimeout", MonitoringSilenceReadStart => "MSRS", MonitoringSilenceReadTimeout => "MSRT", MonitoringSilenceReadUnchanged => "MSRU", diff --git a/src/netpod.rs b/src/netpod.rs index 6404b6d..851a058 100644 --- a/src/netpod.rs +++ b/src/netpod.rs @@ -4532,3 +4532,32 @@ pub unsafe fn extltref2<'a, 'b, T>(t: &'a T) -> &'b T { pub unsafe fn extltmut<'a, 'b, T>(t: &'a mut T) -> &'b mut T { unsafe { core::mem::transmute(t) } } + +#[derive(Debug, Clone)] +pub struct UseScylla6Workarounds(pub bool); + +impl Default for UseScylla6Workarounds { + fn default() -> Self { + Self(true) + } +} + +impl std::ops::Deref for UseScylla6Workarounds { + type Target = bool; + + fn deref(&self) -> &Self::Target { + &self.0 + } +} + +impl From> for UseScylla6Workarounds { + fn from(value: Option) -> Self { + value.map_or(Default::default(), |x| { + if x == 0 { + UseScylla6Workarounds(false) + } else { + UseScylla6Workarounds(true) + } + }) + } +}