[−][src]Struct yenc::EncodeOptions
Options for encoding. The entry point for encoding a file (part) to a file or (TCP) stream.
Implementations
impl EncodeOptions
[src]
pub fn new() -> EncodeOptions
[src]
Constructs a new EncodeOptions with defaults, see Default impl.
pub fn line_length(self, line_length: u8) -> EncodeOptions
[src]
Sets the maximum line length.
pub fn parts(self, parts: u32) -> EncodeOptions
[src]
Sets the number of parts (default=1). When the number of parts is 1, no '=ypart' line will be written in the ouput.
pub fn part(self, part: u32) -> EncodeOptions
[src]
Sets the part number.
Only used when parts > 1
.
The part number count starts at 1.
pub fn begin(self, begin: u64) -> EncodeOptions
[src]
Sets the begin (which is the file offset + 1).
Only used when parts > 1
.
The size of the part is end - begin + 1
.
pub fn end(self, end: u64) -> EncodeOptions
[src]
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.
pub fn encode_file<P, W>(
&self,
input_path: P,
output: W
) -> Result<(), EncodeError> where
P: AsRef<Path>,
W: Write,
[src]
&self,
input_path: P,
output: W
) -> Result<(), EncodeError> where
P: AsRef<Path>,
W: Write,
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).unwrap();
Errors
- when the output file already exists
pub fn check_options(&self) -> Result<(), EncodeError>
[src]
Checks the options. Returns Ok(()) if all options are ok.
Return
- EncodeError::PartNumberMissing
- EncodeError::PartBeginOffsetMissing
- EncodeError::PartEndOffsetMissing
- EncodeError::PartOffsetsInvalidRange
pub fn encode_stream<R, W>(
&self,
input: R,
output: W,
length: u64,
input_filename: &str
) -> Result<(), EncodeError> where
R: Read + Seek,
W: Write,
[src]
&self,
input: R,
output: W,
length: u64,
input_filename: &str
) -> Result<(), EncodeError> where
R: Read + Seek,
W: Write,
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]
impl Default for EncodeOptions
[src]
Auto Trait Implementations
impl RefUnwindSafe for EncodeOptions
impl Send for EncodeOptions
impl Sync for EncodeOptions
impl Unpin for EncodeOptions
impl UnwindSafe for EncodeOptions
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,