#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

#25 in #time

Download history 166/week @ 2019-01-26 125/week @ 2019-02-02 134/week @ 2019-02-09 125/week @ 2019-02-16 154/week @ 2019-02-23 104/week @ 2019-03-02 199/week @ 2019-03-09 264/week @ 2019-03-16 288/week @ 2019-03-23 211/week @ 2019-03-30 164/week @ 2019-04-06 108/week @ 2019-04-13 98/week @ 2019-04-20 24/week @ 2019-04-27 87/week @ 2019-05-04

578 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