Skip to content

Commit f6f2abf

Browse files
committed
f Implement fallback delay on no-std
1 parent b813ea5 commit f6f2abf

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

lightning-background-processor/src/fwd_batch.rs

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,24 @@ impl BatchDelay {
3131
}
3232

3333
fn rand_batch_delay_millis() -> u16 {
34-
const USIZE_LEN: usize = core::mem::size_of::<usize>();
35-
let mut random_bytes = [0u8; USIZE_LEN];
36-
possiblyrandom::getpossiblyrandom(&mut random_bytes);
34+
const FALLBACK_DELAY: u16 = 50;
35+
let delay;
3736

38-
let index = usize::from_be_bytes(random_bytes) % FWD_DELAYS_MILLIS.len();
39-
*FWD_DELAYS_MILLIS.get(index).unwrap_or(&50)
37+
#[cfg(feature = "std")]
38+
{
39+
const USIZE_LEN: usize = core::mem::size_of::<usize>();
40+
let mut random_bytes = [0u8; USIZE_LEN];
41+
possiblyrandom::getpossiblyrandom(&mut random_bytes);
42+
43+
let index = usize::from_be_bytes(random_bytes) % FWD_DELAYS_MILLIS.len();
44+
delay = *FWD_DELAYS_MILLIS.get(index).unwrap_or(&FALLBACK_DELAY)
45+
}
46+
#[cfg(not(feature = "std"))]
47+
{
48+
delay = FALLBACK_DELAY
49+
}
50+
51+
delay
4052
}
4153

4254
// An array of potential forwarding delays (log-normal distribution, 10000 samples, mean = 50, sd = 0.5), generated via the following R-script:
@@ -48,6 +60,7 @@ fn rand_batch_delay_millis() -> u16 {
4860
// log_normal_data <- round(rlnorm(n, meanlog = meanlog, sdlog = sdlog))
4961
// cat(log_normal_data, file = "log_normal_data.txt", sep = ", ")
5062
// ```
63+
#[cfg(feature = "std")]
5164
static FWD_DELAYS_MILLIS: [u16; 10000] = [
5265
38, 45, 109, 52, 53, 118, 63, 27, 35, 40, 92, 60, 61, 53, 38, 122, 64, 19, 71, 39, 29, 45, 30,
5366
35, 37, 22, 76, 54, 28, 94, 62, 43, 78, 78, 75, 71, 66, 48, 43, 41, 35, 45, 27, 148, 91, 29,

0 commit comments

Comments
 (0)