#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

#6 in Date and time

Download history 1196/week @ 2018-06-04 1415/week @ 2018-06-11 997/week @ 2018-06-18 939/week @ 2018-06-25 1057/week @ 2018-07-02 1262/week @ 2018-07-09 1198/week @ 2018-07-16 807/week @ 2018-07-23 463/week @ 2018-07-30 484/week @ 2018-08-06 431/week @ 2018-08-13 308/week @ 2018-08-20 272/week @ 2018-08-27

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
~14K SLoC