Struct yenc::EncodeOptions[][src]

pub struct EncodeOptions { /* fields omitted */ }

Options for encoding. The entry point for encoding a file (part) to a file or (TCP) stream.

Methods

impl EncodeOptions
[src]

Constructs a new EncodeOptions with defaults

Sets the maximum line length.

Sets the number of parts (default=1). When the number of parts is 1, no '=ypart' line will be written in the ouput.

Sets the part number. Only used when parts > 1. The part number count starts at 1.

Sets the begin (which is the file offset + 1). Only used when parts > 1. The size of the part is end - begin + 1.

Sets the end. Only used when parts > 1. The size of the part is end - begin + 1. end should be larger than begin, otherwise an overflow error occurrs.

Encodes the input file and writes it to the writer. For multi-part encoding, only one part is encoded. In case of multipart, the part number, begin and end offset need to be specified in the EncodeOptions. When directly encoding to an NNTP stream, the caller needs to take care of the message header and end of multi-line block (".\r\n").

Example

let encode_options = yenc::EncodeOptions::default()
                                        .parts(2)
                                        .part(1)
                                        .begin(1)
                                        .end(38400);
let mut output_file = std::fs::File::create("test1.bin.yenc.001").unwrap();
encode_options.encode_file("test1.bin", &mut output_file);

Errors

  • when the output file already exists

Checks the options. Returns Ok(()) if all options are ok.

Return

  • EncodeError::PartNumberMissing
  • EncodeError::PartBeginOffsetMissing
  • EncodeError::PartEndOffsetMissing
  • EncodeError::PartOffsetsInvalidRange

Encodes the date from input from stream and writes the encoded data to the output stream. The input stream does not need to be a file, therefore, size and input_filename must be specified. The input_filename ends up as the filename in the yenc header.

Trait Implementations

impl Debug for EncodeOptions
[src]

Formats the value using the given formatter. Read more

impl Default for EncodeOptions
[src]

Constructs a new EncodeOptions instance, with the following defaults: line_length = 128. parts = 1, part = begin = end = 0

Auto Trait Implementations