Skip to content

Commit 4592c42

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

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
@@ -26,6 +26,7 @@ use tap_core::rav::SignedRAV;
2626
use tracing::{error, Level};
2727

2828
use super::sender_allocation::{SenderAllocation, SenderAllocationArgs};
29+
use super::sender_fee_tracker::{BufferedReceiptFee, DurationInfo};
2930
use crate::agent::sender_allocation::SenderAllocationMessage;
3031
use crate::agent::sender_fee_tracker::SenderFeeTracker;
3132
use crate::agent::unaggregated_receipts::UnaggregatedReceipts;
@@ -96,7 +97,7 @@ pub enum SenderAccountMessage {
9697
UpdateInvalidReceiptFees(Address, UnaggregatedReceipts),
9798
UpdateRav(SignedRAV),
9899
#[cfg(test)]
99-
GetSenderFeeTracker(ractor::RpcReplyPort<SenderFeeTracker>),
100+
GetSenderFeeTracker(ractor::RpcReplyPort<SenderFeeTracker<BufferedReceiptFee, DurationInfo>>),
100101
#[cfg(test)]
101102
GetDeny(ractor::RpcReplyPort<bool>),
102103
#[cfg(test)]
@@ -130,9 +131,9 @@ pub struct SenderAccountArgs {
130131
}
131132
pub struct State {
132133
prefix: Option<String>,
133-
sender_fee_tracker: SenderFeeTracker,
134-
rav_tracker: SenderFeeTracker,
135-
invalid_receipts_tracker: SenderFeeTracker,
134+
sender_fee_tracker: SenderFeeTracker<BufferedReceiptFee, DurationInfo>,
135+
rav_tracker: SenderFeeTracker<u128>,
136+
invalid_receipts_tracker: SenderFeeTracker<u128>,
136137
allocation_ids: HashSet<Address>,
137138
_indexer_allocations_handle: PipeHandle,
138139
_escrow_account_monitor: PipeHandle,
@@ -469,6 +470,7 @@ impl Actor for SenderAccount {
469470
sender_fee_tracker: SenderFeeTracker::new(Duration::from_millis(
470471
config.tap.rav_request_timestamp_buffer_ms,
471472
)),
473+
// sender_fee_tracker: SenderFeeTracker::new(),
472474
rav_tracker: SenderFeeTracker::default(),
473475
invalid_receipts_tracker: SenderFeeTracker::default(),
474476
allocation_ids: allocation_ids.clone(),
@@ -582,7 +584,7 @@ impl Actor for SenderAccount {
582584
state.sender_fee_tracker.finish_rav_request(allocation_id);
583585
match rav_result {
584586
Ok((fees, rav)) => {
585-
state.rav_tracker.ok_rav_request(allocation_id);
587+
state.sender_fee_tracker.ok_rav_request(allocation_id);
586588

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

0 commit comments

Comments
 (0)