[−][src]Function solana_rbpf::helpers::bpf_time_getns
pub fn bpf_time_getns(
unused1: u64,
unused2: u64,
unused3: u64,
unused4: u64,
unused5: u64,
_context: &mut HelperContext,
_ro_regions: &[MemoryRegion],
_rw_regions: &[MemoryRegion]
) -> Result<u64, Error>
Get monotonic time (since boot time) in nanoseconds. All arguments are unused.
Examples
use solana_rbpf::helpers; use solana_rbpf::memory_region::MemoryRegion; let regions = [MemoryRegion::default()]; let t = helpers::bpf_time_getns(0, 0, 0, 0, 0, &mut None, ®ions, ®ions).unwrap(); let d = t / 10u64.pow(9) / 60 / 60 / 24; let h = (t / 10u64.pow(9) / 60 / 60) % 24; let m = (t / 10u64.pow(9) / 60 ) % 60; let s = (t / 10u64.pow(9)) % 60; let ns = t % 10u64.pow(9); println!("Uptime: {:#x} == {} days {}:{}:{}, {} ns", t, d, h, m, s, ns);