grafeo_engine/transaction/
write_tracker.rs1use std::sync::Arc;
4
5use grafeo_common::types::{EdgeId, NodeId, TransactionId};
6use grafeo_core::execution::operators::WriteTracker;
7
8use super::TransactionManager;
9
10pub struct TransactionWriteTracker {
15 manager: Arc<TransactionManager>,
16}
17
18impl TransactionWriteTracker {
19 pub fn new(manager: Arc<TransactionManager>) -> Self {
21 Self { manager }
22 }
23}
24
25impl WriteTracker for TransactionWriteTracker {
26 fn record_node_write(&self, transaction_id: TransactionId, node_id: NodeId) {
27 let _ = self.manager.record_write(transaction_id, node_id);
30 }
31
32 fn record_edge_write(&self, transaction_id: TransactionId, edge_id: EdgeId) {
33 let _ = self.manager.record_write(transaction_id, edge_id);
34 }
35}