Crate yenc

source ·
Expand description

yEnc is an encoding scheme to include binary files in Usenet messages.

The EncodeOptions and DecodeOptions structs are the entry points for encoding and decoding.

To encode a complete file to a single encoded

let encode_options = yenc::EncodeOptions::new();
let mut output_file = std::fs::File::create("test.bin.001").unwrap();
encode_options.encode_file("test1.bin", &mut output_file).unwrap();

To decode from a stream and place the targets files in the output directory

let tmpdir = "tmp";
std::fs::create_dir(tmpdir).unwrap();
let decode_options = yenc::DecodeOptions::new(tmpdir);
let message = Vec::<u8>::new();
// ...
// obtain message from a socket, for example the body of a usenet article.
// alternatively, directly read from the NNTP TCPStream.
// ...
decode_options.decode_stream(message.as_slice()).unwrap();

Structs

Options for decoding. The entry point for decoding from a file or (TCP) stream to an output directory.
Options for encoding. The entry point for encoding a file (part) to a file or (TCP) stream.

Enums

Error enum for errors that can be encountered while decoding.
Error enum for errors that can be encountered when validating the encode options or while encoding.

Functions

Decode the encoded byte slice into a vector of bytes.
Encodes the input buffer and writes it to the writer.