#include <LocalBroker.h>
Public Member Functions | |
LocalBroker (PropertiesPtr &props) | |
virtual | ~LocalBroker () |
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 | 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 | close (ResponseCallback *cb, uint32_t fd) |
Close open file. 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 *cb, 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 | readdir (Response::Callback::Readdir *cb, const char *dname) |
Read a directory's contents. 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 | 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 *, 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 | |
virtual void | report_error (ResponseCallback *cb) |
Private Attributes | |
MetricsHandlerPtr | m_metrics_handler |
Metrics collection handler. More... | |
StatusManager | m_status_manager |
Server status manager. More... | |
String | m_rootdir |
bool | m_verbose |
bool | m_directio |
bool | m_no_removal |
Static Private Attributes | |
static atomic< int > | ms_next_fd |
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 65 of file LocalBroker.h.
LocalBroker::LocalBroker | ( | PropertiesPtr & | props | ) |
Determine root directory
Definition at line 62 of file LocalBroker.cc.
|
virtual |
Definition at line 105 of file LocalBroker.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 288 of file LocalBroker.cc.
|
virtual |
Close open file.
fd | An open file descriptor of the file to close. |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 229 of file LocalBroker.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 |
Open the file
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 167 of file LocalBroker.cc.
|
virtual |
Debug command.
command | |
serialized_parameters | |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 717 of file LocalBroker.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 686 of file LocalBroker.cc.
|
virtual |
Flush data that has been written.
fd | An open file. |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 642 of file LocalBroker.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 409 of file LocalBroker.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 475 of file LocalBroker.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 |
Open the file
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 111 of file LocalBroker.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 437 of file LocalBroker.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 238 of file LocalBroker.cc.
|
virtual |
Read a directory's contents.
dname | The directory to list. |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 545 of file LocalBroker.cc.
|
virtual |
Remove a file or directory.
fname | File to remove. |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 376 of file LocalBroker.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 701 of file LocalBroker.cc.
|
privatevirtual |
Definition at line 726 of file LocalBroker.cc.
|
virtual |
Remove a directory.
dname | The directory to be removed. |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 499 of file LocalBroker.cc.
|
virtual |
Seek open file.
fd | An open file descriptor. |
offset | Position to seek to. |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 348 of file LocalBroker.cc.
|
virtual |
Gracefully shutdown broker, closeing open files.
cb | Callbock to be called upon finishing task. |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 679 of file LocalBroker.cc.
|
virtual |
Check status of FSBroker.
cb | call cb->response_ok() |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 674 of file LocalBroker.cc.
|
virtual |
Sync out data that has been written.
fd | An open file. |
cb |
Implements Hypertable::FsBroker::Lib::Broker.
Definition at line 646 of file LocalBroker.cc.
|
private |
Definition at line 110 of file LocalBroker.h.
|
private |
Metrics collection handler.
Definition at line 103 of file LocalBroker.h.
|
private |
Definition at line 111 of file LocalBroker.h.
|
private |
Definition at line 108 of file LocalBroker.h.
|
private |
Server status manager.
Definition at line 106 of file LocalBroker.h.
|
private |
Definition at line 109 of file LocalBroker.h.
|
staticprivate |
Definition at line 98 of file LocalBroker.h.