Skip to content

akihiro-suzuk1/debouncer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Debouncer

A simple debouncer for Rust, using Tokio for async timing. This crate provides a mechanism to debounce function calls, ensuring that only the last call within a specified delay is executed.

Installation

Add this to your Cargo.toml:

[dependencies]
debouncer = "0.1.0"
tokio = { version = "1", features = ["full"] }

Usage

Here’s a basic example demonstrating how to use the Debouncer:

use tokio::time::Duration;
use debouncer::Debouncer;

#[tokio::main]
async fn main() {
    let debouncer = Debouncer::new(Duration::from_secs(1));
    let counter = Arc::new(Mutex::new(0));

    let counter_clone = Arc::clone(&counter);
    debouncer.call(move || {
        async move {
            let mut num = counter_clone.lock().unwrap();
            *num += 1;
        }
    }).await;
}

Contributing

Contributions are welcome! Please open an issue or submit a pull request on GitHub.

1.	Fork the repository
2.	Create your feature branch (git checkout -b feature/your-feature)
3.	Commit your changes (git commit -am 'Add some feature')
4.	Push to the branch (git push origin feature/your-feature)
5.	Create a new Pull Request

License

This project is licensed under the MIT or Apache-2.0 License. See the LICENSE file for details.

About

simple rust debouncer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages