Function initParams [src]
Takes ownership of buffer which may be resized with gpa.
LZMA was explicitly designed to take advantage of large heap memory
being available, with a dictionary size anywhere from 4K to 4G. Thus,
this API dynamically allocates the dictionary as-needed.
Prototype
pub fn initParams( input: *Reader, gpa: Allocator, buffer: []u8, params: Decode.Params, mem_limit: usize, ) !Decompress
Parameters
input: *Reader
gpa: Allocator
buffer: []u8
params: Decode.Params
mem_limit: usize
Source
pub fn initParams(
input: *Reader,
gpa: Allocator,
buffer: []u8,
params: Decode.Params,
mem_limit: usize,
) !Decompress {
return .{
.gpa = gpa,
.input = input,
.buffer = Decode.CircularBuffer.init(params.dict_size, mem_limit),
.range_decoder = try RangeDecoder.init(input),
.decode = try Decode.init(gpa, params.properties),
.reader = .{
.buffer = buffer,
.vtable = &.{
.readVec = readVec,
.stream = stream,
.discard = discard,
},
.seek = 0,
.end = 0,
},
.err = null,
.unpacked_size = params.unpacked_size,
};
}