Skip to content

Commit ede6582

Browse files
committed
add examples to README.md
1 parent 7df0c44 commit ede6582

File tree

1 file changed

+35
-2
lines changed

1 file changed

+35
-2
lines changed

README.md

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,41 @@ TranscodingStreams.jl
99

1010
![TranscodingStream](/docs/src/assets/transcodingstream.png)
1111

12-
TranscodingStreams.jl is a package for transcoding data streams. Transcoding can
13-
be any codec. The following packages support the interfaces of this package:
12+
TranscodingStreams.jl is a package for transcoding data streams. There are two
13+
kinds of APIs:
14+
```julia
15+
using TranscodingStreams, CodecZlib
16+
17+
# Some text.
18+
text = """
19+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean sollicitudin
20+
mauris non nisi consectetur, a dapibus urna pretium. Vestibulum non posuere
21+
erat. Donec luctus a turpis eget aliquet. Cras tristique iaculis ex, eu
22+
malesuada sem interdum sed. Vestibulum ante ipsum primis in faucibus orci luctus
23+
et ultrices posuere cubilia Curae; Etiam volutpat, risus nec gravida ultricies,
24+
erat ex bibendum ipsum, sed varius ipsum ipsum vitae dui.
25+
"""
26+
27+
# Streaming API.
28+
stream = IOBuffer(text)
29+
stream = TranscodingStream(GzipCompression(), stream)
30+
stream = TranscodingStream(GzipDecompression(), stream)
31+
for line in eachline(stream)
32+
println(line)
33+
end
34+
close(stream)
35+
36+
# Array API.
37+
array = Vector{UInt8}(text)
38+
array = transcode(GzipCompression(), array)
39+
array = transcode(GzipDecompression(), array)
40+
@assert text == String(array)
41+
```
42+
43+
Each codec has an alias for its transcoding stream type. For example,
44+
`GzipCompressionStream{S} = TranscodingStream{GzipCompression,S} where S<:IO`.
45+
46+
The following packages support the interfaces of TranscodingStreams.jl:
1447
- [CodecZlib.jl](https://github.com/bicycle1885/CodecZlib.jl)
1548
- [CodecBzip2.jl](https://github.com/bicycle1885/CodecBzip2.jl)
1649
- [CodecXz.jl](https://github.com/bicycle1885/CodecXz.jl)

0 commit comments

Comments
 (0)