2 unstable releases

0.1.0 Aug 19, 2020
0.0.0 May 1, 2020

#1892 in Asynchronous

Download history 244/week @ 2024-07-21 154/week @ 2024-07-28 149/week @ 2024-08-04 192/week @ 2024-08-11 143/week @ 2024-08-18 185/week @ 2024-08-25 147/week @ 2024-09-01 149/week @ 2024-09-08 180/week @ 2024-09-15 169/week @ 2024-09-22 138/week @ 2024-09-29 109/week @ 2024-10-13 95/week @ 2024-10-20 127/week @ 2024-10-27 106/week @ 2024-11-03

437 downloads per month
Used in 199 crates (7 directly)

MIT/Apache

2MB
54K SLoC

C 50K SLoC // 0.1% comments Python 1.5K SLoC // 0.2% comments Rust 765 SLoC // 0.0% comments M4 576 SLoC // 0.4% comments Shell 550 SLoC // 0.1% comments Automake 477 SLoC // 0.2% comments

libevent-rs

Released API docs

Rust bindings to the libevent async I/O framework.

Example

use libevent::{Base, Interval};

let mut base = Base::new();

let mut count: usize = 0;

let timer = Interval::new(Duration::from_secs(1));

base.spawn(timer, move |_event| {
    count += 1;
    println!("count: {}", count);
})?;

base.run();

System Requirements

  • libclang is required by bindgen which is used to generate the Rust bindings. See bindgen requirements for more information. Also ensure that LIBCLANG_PATH is set, as some systems do not do so by default. libclang is only required if buildtime_bindgen is enabled.

  • cmake if self-building via the bundled feature. The current bundled release is release-2.1.11-stable.

  • pkg-config if not self-building via the bundled feature.

  • buildtime_bindgen is an optional feature, enabled by default, which indicates that the Rust libevent bindings should be generated at build time.

  • LIBEVENT_SYS_BINDGEN_FILE is an environment variable indicating the path of the file containing the pregenerated Rust bindings which must be populated when buildtime_bindgen is not enabled, and it is only applicable in this case.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies