greenplumn s3common_writer 源码

  • 2022-08-18
  • 浏览 (472)

greenplumn s3common_writer 代码

文件路径:/gpcontrib/gpcloud/include/s3common_writer.h

#ifndef INCLUDE_S3COMMON_WRITER_H_
#define INCLUDE_S3COMMON_WRITER_H_

#include "compress_writer.h"
#include "s3common_headers.h"
#include "s3key_writer.h"
#include "s3url.h"

class S3CommonWriter : public Writer {
   public:
    S3CommonWriter() : upstreamWriter(NULL), s3InterfaceService(NULL) {
    }

    virtual ~S3CommonWriter() {
        this->close();
    }

    virtual void open(const S3Params& params);

    // write() attempts to write up to count bytes from the buffer.
    // Always return 0 if EOF, no matter how many times it's invoked. 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();

    // Used by Mock, DO NOT call it in other places.
    void setS3InterfaceService(S3Interface* s3InterfaceService) {
        this->s3InterfaceService = s3InterfaceService;
    }

   protected:
    Writer* upstreamWriter;
    S3Interface* s3InterfaceService;
    S3KeyWriter keyWriter;
    CompressWriter compressWriter;
};

#endif

相关信息

greenplumn 源码目录

相关文章

greenplumn compress_writer 源码

greenplumn decompress_reader 源码

greenplumn gpcheckcloud 源码

greenplumn gpcommon 源码

greenplumn gpreader 源码

greenplumn gpwriter 源码

greenplumn reader 源码

greenplumn restful_service 源码

greenplumn s3bucket_reader 源码

greenplumn s3common_headers 源码

0  赞