#[repr(C, align(64))]pub struct TransactionFlow {
pub source_account_index: u16,
pub target_account_index: u16,
pub amount: Decimal128,
pub journal_entry_id: Uuid,
pub debit_line_index: u16,
pub credit_line_index: u16,
pub timestamp: HybridTimestamp,
pub confidence: f32,
pub method_used: SolvingMethod,
pub flags: FlowFlags,
pub _pad: [u8; 2],
pub _reserved: [u8; 8],
}Expand description
A directed edge in the accounting network representing monetary flow. GPU-aligned to 64 bytes.
Fields§
§source_account_index: u16Source account index (debited account)
target_account_index: u16Target account index (credited account)
amount: Decimal128Monetary amount transferred
journal_entry_id: UuidOriginal journal entry ID
debit_line_index: u16Line item index in the journal entry
credit_line_index: u16Corresponding credit line index
timestamp: HybridTimestampWhen this flow was recorded
confidence: f32Confidence score (0.0 - 1.0)
method_used: SolvingMethodTransformation method used
flags: FlowFlagsFlags
_pad: [u8; 2]Padding
_reserved: [u8; 8]Reserved for future use.
Implementations§
Source§impl TransactionFlow
impl TransactionFlow
Sourcepub fn new(
source: u16,
target: u16,
amount: Decimal128,
journal_entry_id: Uuid,
timestamp: HybridTimestamp,
) -> Self
pub fn new( source: u16, target: u16, amount: Decimal128, journal_entry_id: Uuid, timestamp: HybridTimestamp, ) -> Self
Create a new transaction flow.
Sourcepub fn with_provenance(
source: u16,
target: u16,
amount: Decimal128,
journal_entry_id: Uuid,
debit_line_index: u16,
credit_line_index: u16,
timestamp: HybridTimestamp,
method: SolvingMethod,
confidence: f32,
) -> Self
pub fn with_provenance( source: u16, target: u16, amount: Decimal128, journal_entry_id: Uuid, debit_line_index: u16, credit_line_index: u16, timestamp: HybridTimestamp, method: SolvingMethod, confidence: f32, ) -> Self
Create a flow with full provenance.
Sourcepub fn is_self_loop(&self) -> bool
pub fn is_self_loop(&self) -> bool
Check if this flow is a self-loop (same source and target).
Sourcepub fn is_high_confidence(&self) -> bool
pub fn is_high_confidence(&self) -> bool
Check if this flow has high confidence.
Sourcepub fn is_anomalous(&self) -> bool
pub fn is_anomalous(&self) -> bool
Check if this flow is flagged as anomalous.
Trait Implementations§
Source§impl Archive for TransactionFlow
impl Archive for TransactionFlow
Source§type Archived = ArchivedTransactionFlow
type Archived = ArchivedTransactionFlow
The archived representation of this type. Read more
Source§type Resolver = TransactionFlowResolver
type Resolver = TransactionFlowResolver
The resolver for this type. It must contain all the additional information from serializing
needed to make the archived type from the normal type.
Source§impl Clone for TransactionFlow
impl Clone for TransactionFlow
Source§fn clone(&self) -> TransactionFlow
fn clone(&self) -> TransactionFlow
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TransactionFlow
impl Debug for TransactionFlow
Source§impl<__D: Fallible + ?Sized> Deserialize<TransactionFlow, __D> for Archived<TransactionFlow>where
u16: Archive,
Archived<u16>: Deserialize<u16, __D>,
Decimal128: Archive,
Archived<Decimal128>: Deserialize<Decimal128, __D>,
Uuid: Archive,
Archived<Uuid>: Deserialize<Uuid, __D>,
HybridTimestamp: Archive,
Archived<HybridTimestamp>: Deserialize<HybridTimestamp, __D>,
f32: Archive,
Archived<f32>: Deserialize<f32, __D>,
SolvingMethod: Archive,
Archived<SolvingMethod>: Deserialize<SolvingMethod, __D>,
FlowFlags: Archive,
Archived<FlowFlags>: Deserialize<FlowFlags, __D>,
[u8; 2]: Archive,
Archived<[u8; 2]>: Deserialize<[u8; 2], __D>,
[u8; 8]: Archive,
Archived<[u8; 8]>: Deserialize<[u8; 8], __D>,
impl<__D: Fallible + ?Sized> Deserialize<TransactionFlow, __D> for Archived<TransactionFlow>where
u16: Archive,
Archived<u16>: Deserialize<u16, __D>,
Decimal128: Archive,
Archived<Decimal128>: Deserialize<Decimal128, __D>,
Uuid: Archive,
Archived<Uuid>: Deserialize<Uuid, __D>,
HybridTimestamp: Archive,
Archived<HybridTimestamp>: Deserialize<HybridTimestamp, __D>,
f32: Archive,
Archived<f32>: Deserialize<f32, __D>,
SolvingMethod: Archive,
Archived<SolvingMethod>: Deserialize<SolvingMethod, __D>,
FlowFlags: Archive,
Archived<FlowFlags>: Deserialize<FlowFlags, __D>,
[u8; 2]: Archive,
Archived<[u8; 2]>: Deserialize<[u8; 2], __D>,
[u8; 8]: Archive,
Archived<[u8; 8]>: Deserialize<[u8; 8], __D>,
Source§fn deserialize(
&self,
deserializer: &mut __D,
) -> Result<TransactionFlow, __D::Error>
fn deserialize( &self, deserializer: &mut __D, ) -> Result<TransactionFlow, __D::Error>
Deserializes using the given deserializer
Auto Trait Implementations§
impl Freeze for TransactionFlow
impl RefUnwindSafe for TransactionFlow
impl Send for TransactionFlow
impl Sync for TransactionFlow
impl Unpin for TransactionFlow
impl UnwindSafe for TransactionFlow
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
Source§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
The archived counterpart of this type. Unlike
Archive, it may be unsized. Read moreSource§type MetadataResolver = ()
type MetadataResolver = ()
The resolver for the metadata of this type. Read more
Source§unsafe fn resolve_metadata(
&self,
_: usize,
_: <T as ArchiveUnsized>::MetadataResolver,
_: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata,
)
unsafe fn resolve_metadata( &self, _: usize, _: <T as ArchiveUnsized>::MetadataResolver, _: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata, )
Creates the archived version of the metadata for this value at the given position and writes
it to the given output. Read more
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.
Source§impl<T, S> SerializeUnsized<S> for T
impl<T, S> SerializeUnsized<S> for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.