189 if (buflen >= target_bytes)
195 if (buflen + *
len < target_bytes)
215 const char *(*link_map) (
const char *),
216 void (*report_output_file) (
const char *));
static void astreamer_free(astreamer *streamer)
static void astreamer_content(astreamer *streamer, astreamer_member *member, const char *data, int len, astreamer_archive_context context)
astreamer * astreamer_plain_writer_new(char *pathname, FILE *file)
static bool astreamer_buffer_until(astreamer *streamer, const char **data, int *len, int target_bytes)
astreamer * astreamer_zstd_compressor_new(astreamer *next, pg_compress_specification *compress)
astreamer * astreamer_gzip_decompressor_new(astreamer *next)
astreamer * astreamer_tar_parser_new(astreamer *next)
astreamer * astreamer_extractor_new(const char *basepath, const char *(*link_map)(const char *), void(*report_output_file)(const char *))
astreamer * astreamer_lz4_decompressor_new(astreamer *next)
astreamer * astreamer_tar_archiver_new(astreamer *next)
astreamer * astreamer_tar_terminator_new(astreamer *next)
astreamer * astreamer_lz4_compressor_new(astreamer *next, pg_compress_specification *compress)
astreamer * astreamer_gzip_writer_new(char *pathname, FILE *file, pg_compress_specification *compress)
static void astreamer_finalize(astreamer *streamer)
astreamer * astreamer_zstd_decompressor_new(astreamer *next)
astreamer_archive_context
@ ASTREAMER_MEMBER_HEADER
@ ASTREAMER_MEMBER_CONTENTS
@ ASTREAMER_MEMBER_TRAILER
@ ASTREAMER_ARCHIVE_TRAILER
static void astreamer_buffer_bytes(astreamer *streamer, const char **data, int *len, int nbytes)
#define Assert(condition)
void appendBinaryStringInfo(StringInfo str, const void *data, int datalen)
void(* content)(astreamer *streamer, astreamer_member *member, const char *data, int len, astreamer_archive_context context)
void(* finalize)(astreamer *streamer)
void(* free)(astreamer *streamer)
StringInfoData bbs_buffer
const astreamer_ops * bbs_ops