Function process [src]

Prototype

pub fn process( self: *DecoderState, allocator: Allocator, reader: anytype, writer: anytype, buffer: anytype, decoder: *RangeDecoder, ) !ProcessingStatus

Parameters

self: *DecoderStateallocator: Allocatordecoder: *RangeDecoder

Source

pub fn process( self: *DecoderState, allocator: Allocator, reader: anytype, writer: anytype, buffer: anytype, decoder: *RangeDecoder, ) !ProcessingStatus { process_next: { if (self.unpacked_size) |unpacked_size| { if (buffer.len >= unpacked_size) { break :process_next; } } else if (decoder.isFinished()) { break :process_next; } switch (try self.processNext(allocator, reader, writer, buffer, decoder)) { .continue_ => return .continue_, .finished => break :process_next, } } if (self.unpacked_size) |unpacked_size| { if (buffer.len != unpacked_size) { return error.CorruptInput; } } return .finished; }