Struct ChannelMonitorUpdate
pub struct ChannelMonitorUpdate {
pub update_id: u64,
pub channel_id: Option<ChannelId>,
/* private fields */
}Expand description
An update generated by the underlying channel itself which contains some new information the
ChannelMonitor should be made aware of.
Because this represents only a small number of updates to the underlying state, it is generally
much smaller than a full ChannelMonitor. However, for large single commitment transaction
updates (e.g. ones during which there are hundreds of HTLCs pending on the commitment
transaction), a single update may reach upwards of 1 MiB in serialized size.
Fields§
§update_id: u64The sequence number of this update. Updates must be replayed in-order according to this sequence number (and updates may panic if they are not). The update_id values are strictly increasing and increase by one for each new update, with two exceptions specified below.
This sequence number is also used to track up to which points updates which returned
ChannelMonitorUpdateStatus::InProgress have been applied to all copies of a given
ChannelMonitor when ChannelManager::channel_monitor_updated is called.
Note that for ChannelMonitorUpdates generated on LDK versions prior to 0.1 after the
channel was closed, this value may be u64::MAX. In that case, multiple updates may
appear with the same ID, and all should be replayed.
channel_id: Option<ChannelId>The channel ID associated with these updates.
Will be None for ChannelMonitorUpdates constructed on LDK versions prior to 0.0.121 and
always Some otherwise.
Trait Implementations§
§impl Clone for ChannelMonitorUpdate
impl Clone for ChannelMonitorUpdate
§fn clone(&self) -> ChannelMonitorUpdate
fn clone(&self) -> ChannelMonitorUpdate
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for ChannelMonitorUpdate
impl Debug for ChannelMonitorUpdate
§impl PartialEq for ChannelMonitorUpdate
impl PartialEq for ChannelMonitorUpdate
§impl Readable for ChannelMonitorUpdate
impl Readable for ChannelMonitorUpdate
§fn read<R>(r: &mut R) -> Result<ChannelMonitorUpdate, DecodeError>where
R: Read,
fn read<R>(r: &mut R) -> Result<ChannelMonitorUpdate, DecodeError>where
R: Read,
Self in from the given Read.§impl Writeable for ChannelMonitorUpdate
impl Writeable for ChannelMonitorUpdate
impl Eq for ChannelMonitorUpdate
impl StructuralPartialEq for ChannelMonitorUpdate
Auto Trait Implementations§
impl Freeze for ChannelMonitorUpdate
impl RefUnwindSafe for ChannelMonitorUpdate
impl Send for ChannelMonitorUpdate
impl Sync for ChannelMonitorUpdate
impl Unpin for ChannelMonitorUpdate
impl UnwindSafe for ChannelMonitorUpdate
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
§impl<T> AnySync for T
impl<T> AnySync for T
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request