Crate ticket[][src]

Unique-ID-Generator inspired by rs/xid.

The ID generated from Ticket only occupies 12 bytes.

  • 4-byte from unix timestamp,
  • 3-byte from machine id,
  • 2-byte from current process id, and
  • 3-byte counter which starting with a random value.

Usage

extern crate ticket;
use ticket::{Ticketing, encode, decode};


fn main() {
    // create a `Ticketing` to generate ticket number.
    let id = Ticketing::new().gen();

    // using base32 encoding.
    println!("{}", id);  // "bekcs9rrtf0263qgv5r0"

    // as 12 bytes array.
    println!("{:?}", id.as_bytes());  // [91, 168, 206, 39, 123, 235, 192, 35, 15, 80, 249, 118]

    // encode and dedode
    assert_eq!(decode(&encode(id)), id);
}

Structs

ID

ticket id representation

Ticketing

ticket id generator

Functions

decode

base32 decode

encode

base32 encode