summaryrefslogtreecommitdiffstats
path: root/src/common/composite_file.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/composite_file.rs')
-rw-r--r--src/common/composite_file.rs7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/common/composite_file.rs b/src/common/composite_file.rs
index f2c2d22..f2d2926 100644
--- a/src/common/composite_file.rs
+++ b/src/common/composite_file.rs
@@ -2,7 +2,7 @@ use crate::common::BinarySerializable;
use crate::common::CountingWriter;
use crate::common::VInt;
use crate::directory::ReadOnlySource;
-use crate::directory::WritePtr;
+use crate::directory::{TerminatingWrite, WritePtr};
use crate::schema::Field;
use crate::space_usage::FieldUsage;
use crate::space_usage::PerFieldSpaceUsage;
@@ -42,7 +42,7 @@ pub struct CompositeWrite<W = WritePtr> {
offsets: HashMap<FileAddr, u64>,
}
-impl<W: Write> CompositeWrite<W> {
+impl<W: TerminatingWrite + Write> CompositeWrite<W> {
/// Crate a new API writer that writes a composite file
/// in a given write.
pub fn wrap(w: W) -> CompositeWrite<W> {
@@ -91,8 +91,7 @@ impl<W: Write> CompositeWrite<W> {
let footer_len = (self.write.written_bytes() - footer_offset) as u32;
footer_len.serialize(&mut self.write)?;
- self.write.flush()?;
- Ok(())
+ self.write.terminate()
}
}