summaryrefslogtreecommitdiff
path: root/internal/io/fs/readfile_zstd.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/io/fs/readfile_zstd.go')
-rw-r--r--internal/io/fs/readfile_zstd.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/internal/io/fs/readfile_zstd.go b/internal/io/fs/readfile_zstd.go
new file mode 100644
index 0000000..a7e479b
--- /dev/null
+++ b/internal/io/fs/readfile_zstd.go
@@ -0,0 +1,20 @@
+//go:build !nozstd
+
+package fs
+
+import (
+ "bufio"
+ "io"
+ "os"
+
+ "github.com/DataDog/zstd"
+ "github.com/mimecast/dtail/internal/io/dlog"
+)
+
+func (f *readFile) makeZstdReader(fd *os.File) (reader *bufio.Reader, decompressor io.Closer, err error) {
+ dlog.Common.Info(f.FilePath(), "Detected zstd compression format")
+ zstdReader := zstd.NewReader(fd)
+ decompressor = zstdReader
+ reader = bufio.NewReader(zstdReader)
+ return
+}