1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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
}
}