2 unstable releases
0.1.0 | Aug 19, 2020 |
---|---|
0.0.0 | May 1, 2020 |
#817 in Asynchronous
911 downloads per month
Used in 199 crates
(7 directly)
2MB
54K
SLoC
libevent-rs
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 thatLIBCLANG_PATH
is set, as some systems do not do so by default.libclang
is only required ifbuildtime_bindgen
is enabled. -
cmake
if self-building via thebundled
feature. The current bundled release isrelease-2.1.11-stable
. -
pkg-config
if not self-building via thebundled
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 whenbuildtime_bindgen
is not enabled, and it is only applicable in this case.
License
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.
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.