32 lines
1017 B
Rust
32 lines
1017 B
Rust
use crate::cuda_runtime::PinnedVec;
|
|
use crate::recycler::Recycler;
|
|
use crate::sigverify::TxOffset;
|
|
|
|
#[derive(Clone)]
|
|
pub struct RecyclerCache {
|
|
recycler_offsets: Recycler<TxOffset>,
|
|
recycler_buffer: Recycler<PinnedVec<u8>>,
|
|
}
|
|
|
|
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<TxOffset> {
|
|
&self.recycler_offsets
|
|
}
|
|
pub fn buffer(&self) -> &Recycler<PinnedVec<u8>> {
|
|
&self.recycler_buffer
|
|
}
|
|
}
|