|
|
@@ -10,6 +10,7 @@ import (
|
|
|
|
|
|
type SegmentWriter interface {
|
|
|
Write(seg Segment) error
|
|
|
+ Release()
|
|
|
}
|
|
|
|
|
|
type SimpleSegmentWriter struct {
|
|
|
@@ -36,6 +37,10 @@ func (w *SimpleSegmentWriter) Write(seg Segment) error {
|
|
|
return err
|
|
|
}
|
|
|
|
|
|
+func (w *SimpleSegmentWriter) Release() {
|
|
|
+ w.buffer.Release()
|
|
|
+}
|
|
|
+
|
|
|
type RetryableWriter struct {
|
|
|
writer SegmentWriter
|
|
|
}
|
|
|
@@ -51,3 +56,7 @@ func (w *RetryableWriter) Write(seg Segment) error {
|
|
|
return w.writer.Write(seg)
|
|
|
})
|
|
|
}
|
|
|
+
|
|
|
+func (w *RetryableWriter) Release() {
|
|
|
+ w.writer.Release()
|
|
|
+}
|