Rust bindings to the libevent async I/O framework.
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();-
libclangis required by bindgen which is used to generate the Rust bindings. See bindgen requirements for more information. Also ensure thatLIBCLANG_PATHis set, as some systems do not do so by default.libclangis only required ifbuildtime_bindgenis enabled. -
cmakeif self-building via thebundledfeature. The current bundled release isrelease-2.1.11-stable. -
pkg-configif not self-building via thebundledfeature. -
buildtime_bindgenis an optional feature, enabled by default, which indicates that the Rust libevent bindings should be generated at build time. -
LIBEVENT_SYS_BINDGEN_FILEis an environment variable indicating the path of the file containing the pregenerated Rust bindings which must be populated whenbuildtime_bindgenis not enabled, and it is only applicable in this case.
This crate is guaranteed to compile on stable Rust 1.70.0 and up. It might compile with older versions but that may change in any new patch release.
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
at your option.
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.