Skip to main content

Crate same_content

Crate same_content 

Source
Expand description

§Same Content

Determine whether data from different sources are the same.

§Example

use std::fs::File;

use same_content::*;

assert!(!same_content_from_files(&mut File::open("tests/data/P1140310.jpg").unwrap(), &mut File::open("tests/data/P1140558.jpg").unwrap()).unwrap());

§Change the Buffer Size

The default buffer size for the comparison functions is 8192 bytes per stream.

Use a *_with_buffer_size function to select a different size with a const generic argument.

use std::fs::File;

use same_content::*;

assert!(!same_content_from_files_with_buffer_size::<4096>(&mut File::open("tests/data/P1140310.jpg").unwrap(), &mut File::open("tests/data/P1140558.jpg").unwrap()).unwrap());

§Asynchronous APIs

You may want to use async APIs with your async runtime. This crate supports tokio, currently.

[dependencies.same-content]
version = "*"
features = ["tokio"]

After enabling the async feature, the async functions are available.

Functions§

same_content_from_files
Determines whether two files have the same content using the default buffer size.
same_content_from_files_asynctokio
Determines whether two Tokio files have the same content using the default buffer size.
same_content_from_files_async_with_buffer_sizetokio
Determines whether two Tokio files have the same content using BUFFER_SIZE bytes per stream.
same_content_from_files_with_buffer_size
Determines whether two files have the same content using BUFFER_SIZE bytes per stream.
same_content_from_readers
Determines whether two readers have the same remaining content using the default buffer size.
same_content_from_readers_asynctokio
Determines whether two Tokio readers have the same remaining content using the default buffer size.
same_content_from_readers_async_with_buffer_sizetokio
Determines whether two Tokio readers have the same remaining content using BUFFER_SIZE bytes per stream.
same_content_from_readers_with_buffer_size
Determines whether two readers have the same remaining content using BUFFER_SIZE bytes per stream.