Method: LZ4::Encoder#flush
- Defined in:
- ext/frameapi.c
#flush ⇒ Object
258 259 260 261 262 263 264 265 266 267 268 269 270 271 |
# File 'ext/frameapi.c', line 258
static VALUE
fenc_flush(VALUE enc)
{
struct encoder *p = getencoder(enc);
size_t destsize = AUX_LZ4F_BLOCK_SIZE_MAX + AUX_LZ4F_FINISH_SIZE;
aux_str_reserve(p->workbuf, destsize);
char *destp = RSTRING_PTR(p->workbuf);
size_t size = LZ4F_flush(p->encoder, destp, destsize, NULL);
aux_lz4f_check_error(size);
rb_str_set_len(p->workbuf, size);
rb_funcall2(p->outport, id_op_lshift, 1, &p->workbuf);
return enc;
}
|