diff options
| author | Reiner Herrmann <reiner@reiner-h.de> | 2019-03-08 23:17:02 +0100 |
|---|---|---|
| committer | Reiner Herrmann <reiner@reiner-h.de> | 2019-03-08 23:25:05 +0100 |
| commit | 844d1aec17beb9019a21a2bca361e50175b4121c (patch) | |
| tree | fac28f4eb355c64188760dd86d136bf9713a5f0a | |
| parent | 048c513204ec3ee2f85c6667590ae644b46f92e0 (diff) | |
Use a type for the progress callback
| -rw-r--r-- | src/lib.rs | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -13,6 +13,12 @@ use std::time::Duration; pub static VERSION: Option<&str> = option_env!("CARGO_PKG_VERSION"); +/// * `cur` - current number of bytes +/// * `total` - total number of bytes; 0 if unknown +/// * `state` - state that was returned in previous call +/// Returns state that should get passed in next invocation +type ProgressCallback = fn(cur: u64, total: u64, state: u64) -> u64; + #[repr(u16)] pub enum Opcodes { RRQ = 0x01, @@ -33,7 +39,7 @@ pub struct TftpOptions { #[derive(Clone, Copy)] pub struct Tftp { options: TftpOptions, - progress_cb: Option<fn(u64, u64, u64) -> u64>, + progress_cb: Option<ProgressCallback>, } fn default_options() -> TftpOptions { @@ -73,7 +79,7 @@ impl Tftp { Some((val, len)) } - pub fn set_progress_callback(&mut self, cb: fn(u64, u64, u64) -> u64) { + pub fn set_progress_callback(&mut self, cb: ProgressCallback) { self.progress_cb = Some(cb); } |
