inflateChunk(Z, Data) -> Decompressed | {more, Decompressed}
OTP 18.0
類型:
Z = zstream()
Data = iodata()
Decompressed = iolist()
警告
此函數已棄用,並將在未來版本中刪除。使用safeInflate/2
反而。
就像inflate/2
,但解壓縮的數據不會超過通過配置的緩衝區所能容納的數據量setBufSize/2
。在以高壓縮比解壓縮流時非常有用,這樣少量的壓縮輸入就可以擴展至 1000 倍。
該函數返回{more, Decompressed}
,當有更多可用輸出時,並且inflateChunk/1
是用來閱讀它的。
此函數可能會引入一些輸出延遲(讀取輸入而不產生任何輸出)。
如果需要預設字典來進一步解壓,則會拋出異常。看
inflateSetDictionary/2
詳情。
例子:
walk(Compressed, Handler) ->
Z = zlib:open(),
zlib:inflateInit(Z),
% Limit single uncompressed chunk size to 512kb
zlib:setBufSize(Z, 512 * 1024),
loop(Z, Handler, zlib:inflateChunk(Z, Compressed)),
zlib:inflateEnd(Z),
zlib:close(Z).
loop(Z, Handler, {more, Uncompressed}) ->
Handler(Uncompressed),
loop(Z, Handler, zlib:inflateChunk(Z));
loop(Z, Handler, Uncompressed) ->
Handler(Uncompressed).
相關用法
- erlang inflateSetDictionary(Z, Dictionary)用法及代碼示例
- erlang info()用法及代碼示例
- erlang info_lib()用法及代碼示例
- erlang info_msg(Format)用法及代碼示例
- erlang info_report(Report)用法及代碼示例
- erlang info(QH)用法及代碼示例
- erlang init(UserData :: user_data(), AccessMode :: write | read, Fun :: file_op())用法及代碼示例
- erlang insert_element(Index, Tuple1, Term)用法及代碼示例
- erlang integer_to_binary(Integer)用法及代碼示例
- erlang integer_to_binary(Integer, Base)用法及代碼示例
- erlang integer_to_list(Integer)用法及代碼示例
- erlang integer_to_list(Integer, Base)用法及代碼示例
- erlang in(Item, Q1 :: queue(Item))用法及代碼示例
- erlang in_r(Item, Q1 :: queue(Item))用法及代碼示例
- erlang init(Q1 :: queue(Item))用法及代碼示例
- erlang init_ack(Ret)用法及代碼示例
- erlang intersect(Map1, Map2)用法及代碼示例
- erlang intersect_with(Combiner, Map1, Map2)用法及代碼示例
- erlang inspect(MP, Item)用法及代碼示例
- erlang intersection_of_family(Family)用法及代碼示例
- erlang inverse(Function1)用法及代碼示例
- erlang inverse_image(BinRel, Set1)用法及代碼示例
- erlang is_file用法及代碼示例
- erlang is_dir用法及代碼示例
- erlang is_atom用法及代碼示例
注:本文由純淨天空篩選整理自erlang.org大神的英文原創作品 inflateChunk(Z, Data) -> Decompressed | {more, Decompressed}。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。