bssh-russh-sftp 2.1.2

Temporary fork of russh-sftp 2.1.2 adding pipelined SFTP File I/O (write_all_pipelined / read_to_writer_pipelined). Note: the serde_bytes perf fix that originally motivated this fork is now upstreamed in russh-sftp 2.1.2; only the pipelined helpers remain as fork value-add.
Documentation
use std::collections::HashMap;

use super::{impl_packet_for, Packet, VERSION};

/// Implementation for `SSH_FXP_VERSION`
#[derive(Debug, Serialize, Deserialize)]
pub struct Version {
    pub version: u32,
    pub extensions: HashMap<String, String>,
}

impl_packet_for!(Version);

impl Version {
    pub fn new() -> Self {
        Self {
            version: VERSION,
            extensions: HashMap::new(),
        }
    }
}

impl Default for Version {
    fn default() -> Self {
        Self::new()
    }
}