solverforge_scoring/api/
node_sharing.rs1#[derive(Debug, PartialEq, Eq, Hash)]
2pub struct SharedNodeId(pub usize);
3
4#[derive(Debug, PartialEq, Eq, Hash)]
5pub enum SharedNodeOperation {
6 Grouped,
7 ProjectedGrouped,
8 CrossGrouped,
9 CrossComplementedGrouped,
10 ProjectedComplementedGrouped,
11}
12
13#[derive(Debug, PartialEq, Eq)]
14pub struct SharedNodeDiagnostics {
15 pub id: SharedNodeId,
16 pub fingerprint: String,
17 pub operation: SharedNodeOperation,
18 pub terminal_consumers: Vec<String>,
19 pub update_count: usize,
20 pub changed_key_count: usize,
21}
22
23impl SharedNodeDiagnostics {
24 pub fn new(
25 id: SharedNodeId,
26 fingerprint: impl Into<String>,
27 operation: SharedNodeOperation,
28 terminal_consumers: Vec<String>,
29 update_count: usize,
30 changed_key_count: usize,
31 ) -> Self {
32 Self {
33 id,
34 fingerprint: fingerprint.into(),
35 operation,
36 terminal_consumers,
37 update_count,
38 changed_key_count,
39 }
40 }
41}