@@ -4,7 +4,7 @@ TranscodingStreams.jl
4
4
<!-- [![Appveyor Status][appveyor-img]][appveyor-url]-->
5
5
[ ![ Docs Stable] [ docs-stable-img ]] [ docs-stable-url ]
6
6
[ ![ Docs Latest] [ docs-latest-img ]] [ docs-latest-url ]
7
- [ ![ TravisCI Status] [ travisci-img ]] [ travisci-url ]
7
+ [ ![ Build Status] ( https://github.com/JuliaIO/TranscodingStreams.jl/actions/workflows/CI.yml/badge.svg?branch=master )] ( https://github.com/JuliaIO/TranscodingStreams.jl/actions/workflows/CI.yml?query=branch%3Amaster )
8
8
[ ![ codecov.io] [ codecov-img ]] [ codecov-url ]
9
9
10
10
![ TranscodingStream] ( /docs/src/assets/transcodingstream.png )
@@ -54,6 +54,14 @@ array = Vector{UInt8}(text)
54
54
array = transcode (GzipCompressor, array)
55
55
array = transcode (GzipDecompressor, array)
56
56
@assert text == String (array)
57
+
58
+ # Pre-allocated API
59
+ import TranscodingStreams: Buffer
60
+ compressed_buffer = Buffer (Vector {UInt8} (undef, ncodeunits (text)))
61
+ decompressed_buffer = Buffer (codeunits (text))
62
+ transcode (GzipCompressor, decompressed_buffer, compressed_buffer)
63
+ transcode (GzipDecompressor, compressed_buffer, decompressed_buffer)
64
+ @assert text == String (decompressed_buffer. data)
57
65
```
58
66
59
67
Each codec has an alias to its transcoding stream type for ease of use. For
@@ -70,17 +78,17 @@ included in this package except the `Noop` codec, which does nothing to data.
70
78
The user need to install codecs as a plug-in to do something meaningful.
71
79
72
80
The following codec packages support the protocol suite:
73
- - [ CodecZlib.jl] ( https://github.com/bicycle1885 /CodecZlib.jl )
74
- - [ CodecXz.jl] ( https://github.com/bicycle1885 /CodecXz.jl )
75
- - [ CodecZstd.jl] ( https://github.com/bicycle1885 /CodecZstd.jl )
76
- - [ CodecBase.jl] ( https://github.com/bicycle1885 /CodecBase.jl )
77
- - [ CodecBzip2.jl] ( https://github.com/bicycle1885 /CodecBzip2.jl )
78
- - [ CodecLz4.jl] ( https://github.com/invenia /CodecLz4.jl ) by Invenia.
79
-
80
- [ travisci-img ] : https://travis-ci.org/bicycle1885 /TranscodingStreams.jl.svg?branch=master
81
- [ travisci-url ] : https://travis-ci.org/bicycle1885 /TranscodingStreams.jl
82
- [ codecov-img ] : http://codecov.io/github/bicycle1885 /TranscodingStreams.jl/coverage.svg?branch=master
83
- [ codecov-url ] : http://codecov.io/github/bicycle1885 /TranscodingStreams.jl?branch=master
81
+ - [ CodecZlib.jl] ( https://github.com/JuliaIO /CodecZlib.jl )
82
+ - [ CodecXz.jl] ( https://github.com/JuliaIO /CodecXz.jl )
83
+ - [ CodecZstd.jl] ( https://github.com/JuliaIO /CodecZstd.jl )
84
+ - [ CodecBase.jl] ( https://github.com/JuliaIO /CodecBase.jl )
85
+ - [ CodecBzip2.jl] ( https://github.com/JuliaIO /CodecBzip2.jl )
86
+ - [ CodecLz4.jl] ( https://github.com/JuliaIO /CodecLz4.jl ) by Invenia.
87
+
88
+ [ travisci-img ] : https://travis-ci.org/JuliaIO /TranscodingStreams.jl.svg?branch=master
89
+ [ travisci-url ] : https://travis-ci.org/JuliaIO /TranscodingStreams.jl
90
+ [ codecov-img ] : http://codecov.io/github/JuliaIO /TranscodingStreams.jl/coverage.svg?branch=master
91
+ [ codecov-url ] : http://codecov.io/github/JuliaIO /TranscodingStreams.jl?branch=master
84
92
[ docs-stable-img ] : https://img.shields.io/badge/docs-stable-blue.svg
85
93
[ docs-stable-url ] : https://juliaio.github.io/TranscodingStreams.jl/stable/
86
94
[ docs-latest-img ] : https://img.shields.io/badge/docs-latest-blue.svg
0 commit comments