use crate::cuda_runtime::PinnedVec; use crate::recycler::Recycler; use crate::sigverify::TxOffset; #[derive(Clone)] pub struct RecyclerCache { recycler_offsets: Recycler, recycler_buffer: Recycler>, } impl RecyclerCache { pub fn new(offsets_shrink_name: &'static str, buffer_shrink_name: &'static str) -> Self { Self { recycler_offsets: Recycler::new_without_limit(offsets_shrink_name), recycler_buffer: Recycler::new_without_limit(buffer_shrink_name), } } pub fn warmed(offsets_shrink_name: &'static str, buffer_shrink_name: &'static str) -> Self { Self { recycler_offsets: Recycler::warmed(50, 4096, None, offsets_shrink_name), recycler_buffer: Recycler::warmed(50, 4096, None, buffer_shrink_name), } } pub fn offsets(&self) -> &Recycler { &self.recycler_offsets } pub fn buffer(&self) -> &Recycler> { &self.recycler_buffer } }