private static void runCompressionZstd(NativeIO nativeIO, File oldFile) {
        try {
            Path compressedFile = Paths.get(oldFile.toString() + ".zst");
            int bufferSize = 2*1024*1024;
            long mtime = oldFile.lastModified();
            try (FileOutputStream fileOut = AtomicFileOutputStream.create(compressedFile);
                 ZstdOutputStream out = new ZstdOutputStream(fileOut, bufferSize);
                 FileInputStream in = new FileInputStream(oldFile))
            {
                pageFriendlyTransfer(nativeIO, out, fileOut.getFD(), in, bufferSize);
                out.flush();
            }
            compressedFile.toFile().setLastModified(mtime);
            oldFile.delete();
            nativeIO.dropFileFromCache(compressedFile.toFile());
        } catch (IOException e) {
            log.log(Level.WARNING, "Failed to compress log file with zstd: " + oldFile, e);
        } finally {
            nativeIO.dropFileFromCache(oldFile);
        }
    }
Creates an instance of FilesArchive managing the given directory
logserver/src/main/java/com/yahoo/logserver/handlers/archive/FilesArchived.java