greenplumn compress_writer 源码
greenplumn compress_writer 代码
文件路径:/gpcontrib/gpcloud/include/compress_writer.h
#ifndef INCLUDE_COMPRESS_WRITER_H_
#define INCLUDE_COMPRESS_WRITER_H_
#include "s3common_headers.h"
#include "s3exception.h"
#include "s3macros.h"
#include "writer.h"
// 2MB by default
extern uint64_t S3_ZIP_COMPRESS_CHUNKSIZE;
class CompressWriter : public Writer {
public:
CompressWriter();
virtual ~CompressWriter();
virtual void open(const S3Params ¶ms);
// write() attempts to write up to count bytes from the buffer.
// If 'count' is larger than Zip chunk-buffer, it invokes writeOneChunk()
// repeatedly to finish upload. Throw exception if encounters errors.
virtual uint64_t write(const char *buf, uint64_t count);
// This should be reentrant, has no side effects when called multiple times.
virtual void close();
void setWriter(Writer *writer);
private:
void flush();
uint64_t writeOneChunk(const char *buf, uint64_t count);
Writer *writer;
// zlib related variables.
z_stream zstream;
char *out; // Output buffer for compression.
// add this flag to make close() reentrant
bool isClosed;
};
#endif
相关信息
相关文章
greenplumn decompress_reader 源码
0
赞
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦