Struct ssh2::File
[−]
[src]
pub struct File<'sftp> { /* fields omitted */ }
A file handle to an SFTP connection.
Files behave similarly to std::old_io::File
in that they are readable and
writable and support operations like stat and seek.
Files are created through open
, create
, and open_mode
on an instance
of Sftp
.
Methods
impl<'sftp> File<'sftp>
[src]
pub fn setstat(&mut self, stat: FileStat) -> Result<(), Error>
[src]
Set the metadata for this handle.
pub fn stat(&mut self) -> Result<FileStat, Error>
[src]
Get the metadata for this handle.
pub fn statvfs(&mut self) -> Result<LIBSSH2_SFTP_STATVFS, Error>
[src]
pub fn readdir(&mut self) -> Result<(PathBuf, FileStat), Error>
[src]
Reads a block of data from a handle and returns file entry information for the next entry, if any.
Note that this provides raw access to the readdir
function from
libssh2. This will return an error when there are no more files to
read, and files such as .
and ..
will be included in the return
values.
Also note that the return paths will not be absolute paths, they are the filenames of the files in this directory.
pub fn fsync(&mut self) -> Result<(), Error>
[src]
This function causes the remote server to synchronize the file data and metadata to disk (like fsync(2)).
For this to work requires fsync@openssh.com support on the server.
Trait Implementations
impl<'sftp> Read for File<'sftp>
[src]
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
[src]
Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more
unsafe fn initializer(&self) -> Initializer
[src]
read_initializer
)Determines if this Read
er can work with buffers of uninitialized memory. Read more
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
1.0.0[src]
Read all bytes until EOF in this source, placing them into buf
. Read more
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
1.0.0[src]
Read all bytes until EOF in this source, appending them to buf
. Read more
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
1.6.0[src]
Read the exact number of bytes required to fill buf
. Read more
fn by_ref(&mut self) -> &mut Self
1.0.0[src]
Creates a "by reference" adaptor for this instance of Read
. Read more
fn bytes(self) -> Bytes<Self>
1.0.0[src]
Transforms this Read
instance to an [Iterator
] over its bytes. Read more
fn chars(self) -> Chars<Self>
[src]
🔬 This is a nightly-only experimental API. (io
)
the semantics of a partial read/write of where errors happen is currently unclear and may change
Transforms this Read
instance to an [Iterator
] over [char
]s. Read more
fn chain<R>(self, next: R) -> Chain<Self, R> where
R: Read,
1.0.0[src]
R: Read,
Creates an adaptor which will chain this stream with another. Read more
fn take(self, limit: u64) -> Take<Self>
1.0.0[src]
Creates an adaptor which will read at most limit
bytes from it. Read more
impl<'sftp> Write for File<'sftp>
[src]
fn write(&mut self, buf: &[u8]) -> Result<usize>
[src]
Write a buffer into this object, returning how many bytes were written. Read more
fn flush(&mut self) -> Result<()>
[src]
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
1.0.0[src]
Attempts to write an entire buffer into this write. Read more
fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>
1.0.0[src]
Writes a formatted string into this writer, returning any error encountered. Read more
fn by_ref(&mut self) -> &mut Self
1.0.0[src]
Creates a "by reference" adaptor for this instance of Write
. Read more
impl<'sftp> Seek for File<'sftp>
[src]
fn seek(&mut self, how: SeekFrom) -> Result<u64>
[src]
Move the file handle's internal pointer to an arbitrary location.
libssh2 implements file pointers as a localized concept to make file access appear more POSIX like. No packets are exchanged with the server during a seek operation. The localized file pointer is simply used as a convenience offset during read/write operations.
You MUST NOT seek during writing or reading a file with SFTP, as the internals use outstanding packets and changing the "file position" during transit will results in badness.