summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Masurel <paul.masurel@gmail.com>2019-07-03 10:12:33 +0900
committerGitHub <noreply@github.com>2019-07-03 10:12:33 +0900
commit35236c8634297cbb7dd3302d519d7c1a776439f5 (patch)
treead2519ccc8baf03aa711b1b2e215998254095f26
parent462774b15cdb81860d070c883d5b140884ff95db (diff)
Seek not required in Directory's write anymore (#584)
-rw-r--r--src/directory/mod.rs8
-rw-r--r--src/directory/tests.rs20
2 files changed, 3 insertions, 25 deletions
diff --git a/src/directory/mod.rs b/src/directory/mod.rs
index dd94ccf..1b6f633 100644
--- a/src/directory/mod.rs
+++ b/src/directory/mod.rs
@@ -24,22 +24,18 @@ pub use self::ram_directory::RAMDirectory;
pub use self::read_only_source::ReadOnlySource;
pub(crate) use self::watch_event_router::WatchCallbackList;
pub use self::watch_event_router::{WatchCallback, WatchHandle};
-use std::io::{BufWriter, Seek, Write};
+use std::io::{BufWriter, Write};
#[cfg(feature = "mmap")]
pub use self::mmap_directory::MmapDirectory;
pub(crate) use self::managed_directory::ManagedDirectory;
-/// Synonym of Seek + Write
-pub trait SeekableWrite: Seek + Write {}
-impl<T: Seek + Write> SeekableWrite for T {}
-
/// Write object for Directory.
///
/// `WritePtr` are required to implement both Write
/// and Seek.
-pub type WritePtr = BufWriter<Box<dyn SeekableWrite>>;
+pub type WritePtr = BufWriter<Box<dyn Write>>;
#[cfg(test)]
mod tests;
diff --git a/src/directory/tests.rs b/src/directory/tests.rs
index d935fa3..f27dc91 100644
--- a/src/directory/tests.rs
+++ b/src/directory/tests.rs
@@ -1,5 +1,5 @@
use super::*;
-use std::io::{Seek, SeekFrom, Write};
+use std::io::Write;
use std::mem;
use std::path::{Path, PathBuf};
use std::sync::atomic::AtomicUsize;
@@ -52,23 +52,6 @@ fn test_simple(directory: &mut dyn Directory) {
assert!(!directory.exists(*TEST_PATH));
}
-fn test_seek(directory: &mut dyn Directory) {
- {
- {
- let mut write_file = directory.open_write(*TEST_PATH).unwrap();
- write_file.write_all(&[4, 3, 7, 3, 5]).unwrap();
- write_file.seek(SeekFrom::Start(0)).unwrap();
- write_file.write_all(&[3, 1]).unwrap();
- write_file.flush().unwrap();
- }
- let read_file = directory.open_read(*TEST_PATH).unwrap();
- let data: &[u8] = &*read_file;
- assert_eq!(data, &[3u8, 1u8, 7u8, 3u8, 5u8]);
- }
-
- assert!(directory.delete(*TEST_PATH).is_ok());
-}
-
fn test_rewrite_forbidden(directory: &mut dyn Directory) {
{
directory.open_write(*TEST_PATH).unwrap();
@@ -120,7 +103,6 @@ fn test_directory_delete(directory: &mut dyn Directory) {
fn test_directory(directory: &mut dyn Directory) {
test_simple(directory);
- test_seek(directory);
test_rewrite_forbidden(directory);
test_write_create_the_file(directory);
test_directory_delete(directory);