Esempio n. 1
0
File: chunk.c Progetto: 0intro/vx32
static vxmem *vxmem_chunk_fromfd(int fd, off_t size)
{
	vxmem_chunk *chunk;
	
	chunk = calloc(sizeof *chunk, 1);
	if (chunk == NULL)
		return NULL;
	chunk->mem = chunk_proto;
	chunk->fd = fd;
	if (chunk_resize((vxmem*)chunk, size) < 0) {
		free(chunk);
		return NULL;
	}
	return (vxmem*)chunk;
}
Esempio n. 2
0
void chunk_decompress( chunk_t *chunk, uint8_t *cbuffer, uint32_t N ) {
	chunk_resize( chunk, N );

	// Do the varint decoding
	streamvbyte_delta_decode( cbuffer, chunk->buffer, N, 0 );
}
Esempio n. 3
0
// Push value, returns 1 if we are now full
int chunk_push( chunk_t *chunk, uint32_t value ) {
	chunk_resize( chunk, 256 );
	chunk->buffer[ chunk->size++ ] = value;

	return chunk->size == chunk->cap;
}