pub fn wrap_stream<S>(socket: S, mode: Mode) -> Result<MaybeTlsStream<S>>where
    S: Read + Write,