1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
extern crate time;
pub mod generate {
fn base_calc() -> f64 {
let init_time = time::get_time();
let mills: f64 = init_time.sec as f64 + (init_time.nsec as f64 / 1000.0 / 1000.0 / 1000.0);
let response = mills*10000000.0;
response
}
#[no_mangle]
pub fn gen_id(server_id: i32) -> u64 {
let serverid = server_id as u64;
let custom_epoch = self::base_calc() as u64 - 15591165000000000;
let id = custom_epoch * 1000;
std::thread::sleep(1*durations::MILLISECOND);
id
}
}