Skip to content

Commit d6cadae

Browse files
committed
refactor: generic tracker and fee tracker
Signed-off-by: Gustavo Inacio <[email protected]>
1 parent 8e827ee commit d6cadae

File tree

2 files changed

+279
-152
lines changed

2 files changed

+279
-152
lines changed

tap-agent/src/agent/sender_account.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ use tap_core::rav::SignedRAV;
2727
use tracing::{error, Level};
2828

2929
use super::sender_allocation::{SenderAllocation, SenderAllocationArgs};
30+
use super::sender_fee_tracker::{BufferedReceiptFee, DurationInfo};
3031
use crate::agent::sender_allocation::SenderAllocationMessage;
3132
use crate::agent::sender_fee_tracker::SenderFeeTracker;
3233
use crate::agent::unaggregated_receipts::UnaggregatedReceipts;
@@ -97,7 +98,7 @@ pub enum SenderAccountMessage {
9798
UpdateInvalidReceiptFees(Address, UnaggregatedReceipts),
9899
UpdateRav(SignedRAV),
99100
#[cfg(test)]
100-
GetSenderFeeTracker(ractor::RpcReplyPort<SenderFeeTracker>),
101+
GetSenderFeeTracker(ractor::RpcReplyPort<SenderFeeTracker<BufferedReceiptFee, DurationInfo>>),
101102
#[cfg(test)]
102103
GetDeny(ractor::RpcReplyPort<bool>),
103104
#[cfg(test)]
@@ -131,9 +132,9 @@ pub struct SenderAccountArgs {
131132
}
132133
pub struct State {
133134
prefix: Option<String>,
134-
sender_fee_tracker: SenderFeeTracker,
135-
rav_tracker: SenderFeeTracker,
136-
invalid_receipts_tracker: SenderFeeTracker,
135+
sender_fee_tracker: SenderFeeTracker<BufferedReceiptFee, DurationInfo>,
136+
rav_tracker: SenderFeeTracker<u128>,
137+
invalid_receipts_tracker: SenderFeeTracker<u128>,
137138
allocation_ids: HashSet<Address>,
138139
_indexer_allocations_handle: JoinHandle<()>,
139140
_escrow_account_monitor: PipeHandle,
@@ -471,6 +472,7 @@ impl Actor for SenderAccount {
471472
sender_fee_tracker: SenderFeeTracker::new(Duration::from_millis(
472473
config.tap.rav_request_timestamp_buffer_ms,
473474
)),
475+
// sender_fee_tracker: SenderFeeTracker::new(),
474476
rav_tracker: SenderFeeTracker::default(),
475477
invalid_receipts_tracker: SenderFeeTracker::default(),
476478
allocation_ids: allocation_ids.clone(),
@@ -584,7 +586,7 @@ impl Actor for SenderAccount {
584586
state.sender_fee_tracker.finish_rav_request(allocation_id);
585587
match rav_result {
586588
Ok((fees, rav)) => {
587-
state.rav_tracker.ok_rav_request(allocation_id);
589+
state.sender_fee_tracker.ok_rav_request(allocation_id);
588590

589591
let rav_value = rav.map_or(0, |rav| rav.message.valueAggregate);
590592
// update rav tracker
@@ -610,7 +612,7 @@ impl Actor for SenderAccount {
610612
.set(fees.value as f64);
611613
}
612614
Err(err) => {
613-
state.rav_tracker.failed_rav_backoff(allocation_id);
615+
state.sender_fee_tracker.failed_rav_backoff(allocation_id);
614616
error!(
615617
"Error while requesting RAV for sender {} and allocation {}: {}",
616618
state.sender,

0 commit comments

Comments
 (0)