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: *Readergpa: Allocatorbuffer: []u8params: Decode.Paramsmem_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, }; }