#include <QfsBroker.h>
Public Member Functions | |
QfsBroker (PropertiesPtr &cfg) | |
virtual | ~QfsBroker () |
virtual void | open (Response::Callback::Open *cb, const char *fname, uint32_t flags, uint32_t bufsz) |
Open a file and pass the fd to the callback on success. More... | |
virtual void | close (ResponseCallback *cb, uint32_t fd) |
Close open file. More... | |
virtual void | create (Response::Callback::Open *cb, const char *fname, uint32_t flags, int32_t bufsz, int16_t replication, int64_t blksz) |
Open a file, and create it if it doesn't exist, optionally overwriting the contents. More... | |
virtual void | read (Response::Callback::Read *cb, uint32_t fd, uint32_t amount) |
Read data from an open file. More... | |
virtual void | append (Response::Callback::Append *, uint32_t fd, uint32_t amount, const void *data, Filesystem::Flags flags) |
Append data to open file. More... | |
virtual void | seek (ResponseCallback *cb, uint32_t fd, uint64_t offset) |
Seek open file. More... | |
virtual void | remove (ResponseCallback *cb, const char *fname) |
Remove a file or directory. More... | |
virtual void | length (Response::Callback::Length *cb, const char *fname, bool accurate=true) |
Get length of file. More... | |
virtual void | pread (Response::Callback::Read *cb, uint32_t fd, uint64_t offset, uint32_t amount, bool verify_checksum) |
Read from file at position. More... | |
virtual void | mkdirs (ResponseCallback *cb, const char *dname) |
Make a directory hierarcy, If the parent dirs are not, present, they are also created. More... | |
virtual void | rmdir (ResponseCallback *cb, const char *dname) |
Remove a directory. More... | |
virtual void | flush (ResponseCallback *cb, uint32_t fd) |
Flush data that has been written. More... | |
virtual void | sync (ResponseCallback *cb, uint32_t fd) |
Sync out data that has been written. More... | |
virtual void | status (Response::Callback::Status *cb) |
Check status of FSBroker. More... | |
virtual void | shutdown (ResponseCallback *cb) |
Gracefully shutdown broker, closeing open files. More... | |
virtual void | readdir (Response::Callback::Readdir *cb, const char *dname) |
Read a directory's contents. More... | |
virtual void | exists (Response::Callback::Exists *cb, const char *fname) |
Check for the existence of a file. More... | |
virtual void | rename (ResponseCallback *cb, const char *src, const char *dst) |
Rename a file from src to dst. More... | |
virtual void | debug (ResponseCallback *cb, int32_t command, StaticBuffer &serialized_parameters) |
Debug command. More... | |
Public Member Functions inherited from Hypertable::FsBroker::Lib::Broker | |
virtual | ~Broker () |
OpenFileMap & | get_open_file_map () |
Private Member Functions | |
void | report_error (ResponseCallback *cb, int error) |
Private Attributes | |
MetricsHandlerPtr | m_metrics_handler |
Metrics collection handler. More... | |
StatusManager | m_status_manager |
Server status manager. More... | |
std::string | m_host |
int | m_port |
KFS::KfsClient *const | m_client |
Static Private Attributes | |
static std::atomic< int > | ms_next_fd |
Atomic counter for file descriptor assignment. More... | |
Additional Inherited Members | |
Protected Attributes inherited from Hypertable::FsBroker::Lib::Broker | |
OpenFileMap | m_open_file_map |
A map of open files. More... | |
Definition at line 69 of file QfsBroker.h.
QfsBroker::QfsBroker | ( | PropertiesPtr & | cfg | ) |
Definition at line 54 of file QfsBroker.cc.
|
virtual |
Definition at line 62 of file QfsBroker.cc.
|
virtual |
Append data to open file.
cb | Response callback |
fd | An open file descriptor. |
amount | Number of bytes to write. |
data | The data to write. |
flags | Flags (FLUSH or SYNC) |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 176 of file QfsBroker.cc.
|
virtual |
Close open file.
fd | An open file descriptor of the file to close. |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 95 of file QfsBroker.cc.
|
virtual |
Open a file, and create it if it doesn't exist, optionally overwriting the contents.
Fd is passed to the callback upon success.
fname | The file to be opened and/or created. |
flags | An enum Hypertable::Filesystem::OpenFlags. If OPEN_FLAG_OVERWRITE is set, then overwrite the file. |
bufsz | Buffer size. |
replication | Amount of replication of file. |
blksz | Block size of file. |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 103 of file QfsBroker.cc.
|
virtual |
Debug command.
command | |
serialized_parameters | |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 359 of file QfsBroker.cc.
|
virtual |
Check for the existence of a file.
cb | Response callback |
fname | The file to be checked. |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 345 of file QfsBroker.cc.
|
virtual |
Flush data that has been written.
fd | An open file. |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 291 of file QfsBroker.cc.
|
virtual |
Get length of file.
fname | File to get length of. |
accurate | Should the length be accurate or an estimation. |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 224 of file QfsBroker.cc.
|
virtual |
Make a directory hierarcy, If the parent dirs are not, present, they are also created.
dname | The pathname |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 271 of file QfsBroker.cc.
|
virtual |
Open a file and pass the fd to the callback on success.
fname | The filename to be opened. |
flags | An enum Hypertable::Filesystem::OpenFlags |
bufsz | Buffer size |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 67 of file QfsBroker.cc.
|
virtual |
Read from file at position.
fd | Open fd to read from. |
offset | Postion to read from. |
amount | Nubmer of bytes to read. |
verify_checksum | Verify checksum of data read |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 236 of file QfsBroker.cc.
|
virtual |
Read data from an open file.
fd | An open file descriptor. |
amount | Number of bytes to read. |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 148 of file QfsBroker.cc.
|
virtual |
Read a directory's contents.
dname | The directory to list. |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 319 of file QfsBroker.cc.
|
virtual |
Remove a file or directory.
fname | File to remove. |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 214 of file QfsBroker.cc.
|
virtual |
Rename a file from src to dst.
src | The file to be renamed. |
dst | The path the file should be renamed to. |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 349 of file QfsBroker.cc.
|
private |
Definition at line 373 of file QfsBroker.cc.
|
virtual |
Remove a directory.
dname | The directory to be removed. |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 281 of file QfsBroker.cc.
|
virtual |
Seek open file.
fd | An open file descriptor. |
offset | Position to seek to. |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 128 of file QfsBroker.cc.
|
virtual |
Gracefully shutdown broker, closeing open files.
cb | Callbock to be called upon finishing task. |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 368 of file QfsBroker.cc.
|
virtual |
Check status of FSBroker.
cb | call cb->response_ok() |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 364 of file QfsBroker.cc.
|
virtual |
Sync out data that has been written.
fd | An open file. |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 295 of file QfsBroker.cc.
|
private |
Definition at line 111 of file QfsBroker.h.
|
private |
Definition at line 108 of file QfsBroker.h.
|
private |
Metrics collection handler.
Definition at line 103 of file QfsBroker.h.
|
private |
Definition at line 109 of file QfsBroker.h.
|
private |
Server status manager.
Definition at line 106 of file QfsBroker.h.
|
staticprivate |
Atomic counter for file descriptor assignment.
Definition at line 100 of file QfsBroker.h.