1mod idgen;
2
3extern crate libc;
6
7pub use idgen::*;
10
11#[no_mangle]
13pub extern "C" fn SetIdGenerator(options: IdGeneratorOptions) {
14 YitIdHelper::SetIdGenerator(options);
15}
16
17#[no_mangle]
18pub extern "C" fn SetOptions(_worker_id: u32, worker_id_bit_length: u8, seq_bit_length: u8) {
19 let mut options = IdGeneratorOptions::New(1);
20 options.WorkerIdBitLength = worker_id_bit_length;
21 options.SeqBitLength = seq_bit_length;
22 YitIdHelper::SetIdGenerator(options);
23}
24
25#[no_mangle]
26pub extern "C" fn SetWorkerId(worker_id: u32) {
27 YitIdHelper::SetWorkerId(worker_id);
28}
29
30#[no_mangle]
31pub extern "C" fn NextId() -> i64 {
32 YitIdHelper::NextId()
33}
34
35