|
davix
0.5.0
|
Davix File Interface. More...
#include <davfile.hpp>
Data Structures | |
| class | Iterator |
Public Member Functions | |
| DavFile (Context &c, const Uri &url) | |
| default constructor More... | |
| DavFile (Context &c, const RequestParams ¶ms, const Uri &url) | |
| DavFile (const DavFile &orig) | |
| virtual | ~DavFile () |
| destructor | |
| const Uri & | getUri () const |
| return Uri of the current file | |
| std::vector< DavFile > | getReplicas (const RequestParams *params, DavixError **err) throw () |
| return all replicas associated to this file More... | |
| dav_ssize_t | readPartialBufferVec (const RequestParams *params, const DavIOVecInput *input_vec, DavIOVecOuput *ioutput_vec, const dav_size_t count_vec, DavixError **err) throw () |
| Vector read operation Albe to do several read on several data chunk in one single operation. Uses Http multi-part when supported by the server, simulate a vector read operation otherwise. More... | |
| dav_ssize_t | readPartial (const RequestParams *params, void *buff, dav_size_t count, dav_off_t offset, DavixError **err) throw () |
| Partial position independant read. More... | |
| dav_ssize_t | getToFd (const RequestParams *params, int fd, DavixError **err) throw () |
| Get the full file content and write it to file descriptor. More... | |
| dav_ssize_t | getToFd (const RequestParams *params, int fd, dav_size_t size_read, DavixError **err) throw () |
| Get the first 'size_read' bytes of the file and write it to file descriptor. More... | |
| dav_ssize_t | getFull (const RequestParams *params, std::vector< char > &buffer, DavixError **err) throw () |
| Get the full file content in a dynamically allocated buffer. More... | |
| dav_ssize_t | get (const RequestParams *params, std::vector< char > &buffer) |
| Get the full file content to buffer. More... | |
| void | put (const RequestParams *params, int fd, dav_size_t size_write) |
| Create/Replace file content. More... | |
| void | put (const RequestParams *params, const char *buffer, dav_size_t size_write) |
| Create/Replace file content. More... | |
| void | move (const RequestParams *params, DavFile &destination) |
| move More... | |
| void | deletion (const RequestParams *params=NULL) |
| Suppress the current entity or collection. More... | |
| int | deletion (const RequestParams *params, DavixError **err) throw () |
| Suppress the current entity or collection. More... | |
| void | makeCollection (const RequestParams *params=NULL) |
| create a collection (directory or bucket) at the current url More... | |
| int | makeCollection (const RequestParams *params, DavixError **err) throw () |
| create a collection (directory or bucket) at the current url More... | |
| StatInfo & | statInfo (const RequestParams *params, StatInfo &info) |
| execute a file meta-data query More... | |
| int | stat (const RequestParams *params, struct stat *st, DavixError **err) throw () |
| execute a POSIX-like stat() query More... | |
| Iterator | listCollection (const RequestParams *params) |
| Collection listing. More... | |
| std::string & | checksum (const RequestParams *params, std::string &checksm, const std::string &chk_algo) |
| compute checksum of the file More... | |
| int | checksum (const RequestParams *params, std::string &checksm, const std::string &chk_algo, DavixError **err) throw () |
| compute checksum of the file with the given algorithm (MD5, CRC32, ADLER32) More... | |
| void | prefetchInfo (off_t offset, dav_size_t size_read, advise_t adv) |
| provide information on the next file operation More... | |
| DEPRECATED (dav_ssize_t getAllReplicas(const RequestParams *params, ReplicaVec &vec, DavixError **err)) | |
| DEPRECATED (int putFromFd(const RequestParams *params, int fd, dav_size_t size_write, DavixError **err) throw()) | |
Davix File Interface.
Davix File interface
default constructor
| c | context |
| url | remote file URL |
| std::string& Davix::DavFile::checksum | ( | const RequestParams * | params, |
| std::string & | checksm, | ||
| const std::string & | chk_algo | ||
| ) |
compute checksum of the file
with the given algorithm (MD5, CRC32, ADLER32)
server implementation dependend
Davix::checksum support LCGDM-DAV, dCache Jetty and Aws S3 checksum support
| params | request parameters |
| checksm | checksum buffer |
| chk_algo | string of the algorithm (eg: "MD5" ) |
| throw | DavixException if error occurs |
| int Davix::DavFile::checksum | ( | const RequestParams * | params, |
| std::string & | checksm, | ||
| const std::string & | chk_algo, | ||
| DavixError ** | err | ||
| ) | |||
| throw | ( | ||
| ) | |||
compute checksum of the file with the given algorithm (MD5, CRC32, ADLER32)
Exception safe version of checksum
| void Davix::DavFile::deletion | ( | const RequestParams * | params = NULL | ) |
Suppress the current entity or collection.
| params | Davix request Parameters |
| throw | DavixException if error occurs |
| int Davix::DavFile::deletion | ( | const RequestParams * | params, |
| DavixError ** | err | ||
| ) | |||
| throw | ( | ||
| ) | |||
Suppress the current entity or collection.
Exception safe version of deletion(const RequestParams* params = NULL)
| Davix::DavFile::DEPRECATED | ( | dav_ssize_t | getAllReplicasconst RequestParams *params, ReplicaVec &vec, DavixError **err | ) |
| Davix::DavFile::DEPRECATED | ( | int | putFromFdconst RequestParams *params, int fd, dav_size_t size_write, DavixError **err) throw( | ) |
| dav_ssize_t Davix::DavFile::get | ( | const RequestParams * | params, |
| std::vector< char > & | buffer | ||
| ) |
Get the full file content to buffer.
| params | Davix request Parameters |
| buffer | reference to a vector for storing the result |
Get the file content in a dynamically allocated buffer
WARNING: this operation is without size limit for the content
| dav_ssize_t Davix::DavFile::getFull | ( | const RequestParams * | params, |
| std::vector< char > & | buffer, | ||
| DavixError ** | err | ||
| ) | |||
| throw | ( | ||
| ) | |||
Get the full file content in a dynamically allocated buffer.
| params | Davix request Parameters |
| buffer | reference to a vector for the result |
| err | Davix error report |
| std::vector<DavFile> Davix::DavFile::getReplicas | ( | const RequestParams * | params, |
| DavixError ** | err | ||
| ) | |||
| throw | ( | ||
| ) | |||
return all replicas associated to this file
Replicas are found using a corresponding The MetaLink standard ( rfc5854, rfc6249 )
| params | Davix Request parameters |
| err | Davix error report |
| dav_ssize_t Davix::DavFile::getToFd | ( | const RequestParams * | params, |
| int | fd, | ||
| DavixError ** | err | ||
| ) | |||
| throw | ( | ||
| ) | |||
Get the full file content and write it to file descriptor.
| params | Davix request Parameters |
| fd | file descriptor for write operation |
| err | Davix error report |
| dav_ssize_t Davix::DavFile::getToFd | ( | const RequestParams * | params, |
| int | fd, | ||
| dav_size_t | size_read, | ||
| DavixError ** | err | ||
| ) | |||
| throw | ( | ||
| ) | |||
Get the first 'size_read' bytes of the file and write it to file descriptor.
| params | Davix request Parameters |
| fd | file descriptor for write operation |
| size_read | number of bytes to read |
| err | Davix error report |
| Iterator Davix::DavFile::listCollection | ( | const RequestParams * | params | ) |
Collection listing.
| params | Davix request parameters |
| void Davix::DavFile::makeCollection | ( | const RequestParams * | params = NULL | ) |
create a collection (directory or bucket) at the current url
| params | Davix request Parameters |
| throw | DavixException if error occurs |
| int Davix::DavFile::makeCollection | ( | const RequestParams * | params, |
| DavixError ** | err | ||
| ) | |||
| throw | ( | ||
| ) | |||
create a collection (directory or bucket) at the current url
Exception safe version of makeCollection(const RequestParams *params = NULL)
| void Davix::DavFile::move | ( | const RequestParams * | params, |
| DavFile & | destination | ||
| ) |
move
| params | Davix request Parameters |
| destination | destination resource |
Move the current resource to Destination.
The result of the operation depend of the protocol used.
Protocol supported currently: WebDav, S3
| void Davix::DavFile::prefetchInfo | ( | off_t | offset, |
| dav_size_t | size_read, | ||
| advise_t | adv | ||
| ) |
provide information on the next file operation
provide information on the next file operations for optimizations and prefetching
| offset | |
| size_read | |
| adv |
| void Davix::DavFile::put | ( | const RequestParams * | params, |
| int | fd, | ||
| dav_size_t | size_write | ||
| ) |
Create/Replace file content.
| params | Davix request Parameters |
| fd | file descriptor |
| size_write | number of bytes to write |
| throw | DavixException if an error occurs |
Create / Replace the file. Read the new content from the file descriptor fd for a maximum of size_write bytes.
| void Davix::DavFile::put | ( | const RequestParams * | params, |
| const char * | buffer, | ||
| dav_size_t | size_write | ||
| ) |
Create/Replace file content.
| params | Davix request Parameters |
| buffer | buffer with data to write |
| size_write | number of bytes to write |
| throw | DavixException if an error occurs |
Set a new content for the file. The new content comes from buffer.
| dav_ssize_t Davix::DavFile::readPartial | ( | const RequestParams * | params, |
| void * | buff, | ||
| dav_size_t | count, | ||
| dav_off_t | offset, | ||
| DavixError ** | err | ||
| ) | |||
| throw | ( | ||
| ) | |||
Partial position independant read.
Use ranged request when supported by the server, simulate a ranged request when not supported
| params | Davix request Parameters |
| buff | buffer |
| count | maximum read size |
| offset | starting offset for the read operation |
| err | Davix error report |
| dav_ssize_t Davix::DavFile::readPartialBufferVec | ( | const RequestParams * | params, |
| const DavIOVecInput * | input_vec, | ||
| DavIOVecOuput * | ioutput_vec, | ||
| const dav_size_t | count_vec, | ||
| DavixError ** | err | ||
| ) | |||
| throw | ( | ||
| ) | |||
Vector read operation Albe to do several read on several data chunk in one single operation. Uses Http multi-part when supported by the server, simulate a vector read operation otherwise.
| params | Davix request Parameters |
| input_vec | input vectors, parameters |
| ioutput_vec | output vectors, results |
| count_vec | number of vector |
| err | Davix error report |
| int Davix::DavFile::stat | ( | const RequestParams * | params, |
| struct stat * | st, | ||
| DavixError ** | err | ||
| ) | |||
| throw | ( | ||
| ) | |||
execute a POSIX-like stat() query
| params | Davix request parameters |
| st | stat struct |
| err | Davix error report |
| StatInfo& Davix::DavFile::statInfo | ( | const RequestParams * | params, |
| StatInfo & | info | ||
| ) |
execute a file meta-data query
| params | Davix request Parameters |
| st | stat struct |
| err | Davix error report |
1.8.11