#protocol #network #time #parser #binary

bin+lib ntp

Library for parsing and communicating over Network Time Protocol

8 releases (4 breaking)

0.5.0 Jun 29, 2018
0.4.0 Oct 26, 2017
0.3.1 Oct 21, 2017
0.3.0 Jul 12, 2017
0.1.1 Feb 23, 2017

#15 in #time

Download history 161/week @ 2018-12-20 118/week @ 2018-12-27 144/week @ 2019-01-03 99/week @ 2019-01-10 108/week @ 2019-01-17 119/week @ 2019-01-24 178/week @ 2019-01-31 117/week @ 2019-02-07 143/week @ 2019-02-14 115/week @ 2019-02-21 124/week @ 2019-02-28 181/week @ 2019-03-07 206/week @ 2019-03-14 285/week @ 2019-03-21 259/week @ 2019-03-28

4,521 downloads per month

MIT/Apache

21KB
497 lines

Ntplib

An ntp packet parsing library written in Rust.

Usage

Add this to your Cargo.toml:

[dependencies]
ntp = "0.5"

and this to your crate root:

extern crate ntp;

Todo

  • no-std
  • io independent parsing
  • async support
  • setting clocks
  • ntp server functionality

Contributions

Pull Requests and Issues welcome!

License

ntp is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.


lib.rs:

Example

fn main() {
let address = "0.pool.ntp.org:123";
let response: ntp::packet::Packet = ntp::request(address).unwrap();
let ntp_time = response.transmit_time;
println!("{}", ntp_time);
}

Dependencies

~1MB
~15K SLoC