0.9.8.10
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Hypertable::FsBroker::LocalBroker Class Reference

#include <LocalBroker.h>

Inheritance diagram for Hypertable::FsBroker::LocalBroker:
Inheritance graph
[legend]
Collaboration diagram for Hypertable::FsBroker::LocalBroker:
Collaboration graph
[legend]

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 ()
 
OpenFileMapget_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...
 

Detailed Description

Definition at line 65 of file LocalBroker.h.

Constructor & Destructor Documentation

LocalBroker::LocalBroker ( PropertiesPtr props)

Determine root directory

Definition at line 62 of file LocalBroker.cc.

LocalBroker::~LocalBroker ( )
virtual

Definition at line 105 of file LocalBroker.cc.

Member Function Documentation

void LocalBroker::append ( Response::Callback::Append cb,
uint32_t  fd,
uint32_t  amount,
const void *  data,
Filesystem::Flags  flags 
)
virtual

Append data to open file.

Parameters
cbResponse callback
fdAn open file descriptor.
amountNumber of bytes to write.
dataThe data to write.
flagsFlags (FLUSH or SYNC)

Implements Hypertable::FsBroker::Lib::Broker.

Definition at line 288 of file LocalBroker.cc.

void LocalBroker::close ( ResponseCallback cb,
uint32_t  fd 
)
virtual

Close open file.

Parameters
fdAn open file descriptor of the file to close.
cb

Implements Hypertable::FsBroker::Lib::Broker.

Definition at line 229 of file LocalBroker.cc.

void LocalBroker::create ( Response::Callback::Open cb,
const char *  fname,
uint32_t  flags,
int32_t  bufsz,
int16_t  replication,
int64_t  blksz 
)
virtual

Open a file, and create it if it doesn't exist, optionally overwriting the contents.

Fd is passed to the callback upon success.

Parameters
fnameThe file to be opened and/or created.
flagsAn enum Hypertable::Filesystem::OpenFlags. If OPEN_FLAG_OVERWRITE is set, then overwrite the file.
bufszBuffer size.
replicationAmount of replication of file.
blkszBlock size of file.
cb

Open the file

Implements Hypertable::FsBroker::Lib::Broker.

Definition at line 167 of file LocalBroker.cc.

void LocalBroker::debug ( ResponseCallback cb,
int32_t  command,
StaticBuffer serialized_parameters 
)
virtual

Debug command.

Parameters
command
serialized_parameters
cb

Implements Hypertable::FsBroker::Lib::Broker.

Definition at line 717 of file LocalBroker.cc.

void LocalBroker::exists ( Response::Callback::Exists cb,
const char *  fname 
)
virtual

Check for the existence of a file.

Parameters
cbResponse callback
fnameThe file to be checked.

Implements Hypertable::FsBroker::Lib::Broker.

Definition at line 686 of file LocalBroker.cc.

void LocalBroker::flush ( ResponseCallback cb,
uint32_t  fd 
)
virtual

Flush data that has been written.

Parameters
fdAn open file.
cb

Implements Hypertable::FsBroker::Lib::Broker.

Definition at line 642 of file LocalBroker.cc.

void LocalBroker::length ( Response::Callback::Length cb,
const char *  fname,
bool  accurate = true 
)
virtual

Get length of file.

Parameters
fnameFile to get length of.
accurateShould the length be accurate or an estimation.
cb

Implements Hypertable::FsBroker::Lib::Broker.

Definition at line 409 of file LocalBroker.cc.

void LocalBroker::mkdirs ( ResponseCallback cb,
const char *  dname 
)
virtual

Make a directory hierarcy, If the parent dirs are not, present, they are also created.

Parameters
dnameThe pathname
cb

Implements Hypertable::FsBroker::Lib::Broker.

Definition at line 475 of file LocalBroker.cc.

void LocalBroker::open ( Response::Callback::Open cb,
const char *  fname,
uint32_t  flags,
uint32_t  bufsz 
)
virtual

Open a file and pass the fd to the callback on success.

Parameters
fnameThe filename to be opened.
flagsAn enum Hypertable::Filesystem::OpenFlags
bufszBuffer size
cb

Open the file

Implements Hypertable::FsBroker::Lib::Broker.

Definition at line 111 of file LocalBroker.cc.

void LocalBroker::pread ( Response::Callback::Read cb,
uint32_t  fd,
uint64_t  offset,
uint32_t  amount,
bool  verify_checksum 
)
virtual

Read from file at position.

Parameters
fdOpen fd to read from.
offsetPostion to read from.
amountNubmer of bytes to read.
verify_checksumVerify checksum of data read
cb

Implements Hypertable::FsBroker::Lib::Broker.

Definition at line 437 of file LocalBroker.cc.

void LocalBroker::read ( Response::Callback::Read cb,
uint32_t  fd,
uint32_t  amount 
)
virtual

Read data from an open file.

Parameters
fdAn open file descriptor.
amountNumber of bytes to read.
cb

Implements Hypertable::FsBroker::Lib::Broker.

Definition at line 238 of file LocalBroker.cc.

void LocalBroker::readdir ( Response::Callback::Readdir cb,
const char *  dname 
)
virtual

Read a directory's contents.

Parameters
dnameThe directory to list.
cb

Implements Hypertable::FsBroker::Lib::Broker.

Definition at line 545 of file LocalBroker.cc.

void LocalBroker::remove ( ResponseCallback cb,
const char *  fname 
)
virtual

Remove a file or directory.

Parameters
fnameFile to remove.
cb

Implements Hypertable::FsBroker::Lib::Broker.

Definition at line 376 of file LocalBroker.cc.

void LocalBroker::rename ( ResponseCallback cb,
const char *  src,
const char *  dst 
)
virtual

Rename a file from src to dst.

Parameters
srcThe file to be renamed.
dstThe path the file should be renamed to.
cb

Implements Hypertable::FsBroker::Lib::Broker.

Definition at line 701 of file LocalBroker.cc.

void LocalBroker::report_error ( ResponseCallback cb)
privatevirtual

Definition at line 726 of file LocalBroker.cc.

void LocalBroker::rmdir ( ResponseCallback cb,
const char *  dname 
)
virtual

Remove a directory.

Parameters
dnameThe directory to be removed.
cb

Implements Hypertable::FsBroker::Lib::Broker.

Definition at line 499 of file LocalBroker.cc.

void LocalBroker::seek ( ResponseCallback cb,
uint32_t  fd,
uint64_t  offset 
)
virtual

Seek open file.

Parameters
fdAn open file descriptor.
offsetPosition to seek to.
cb

Implements Hypertable::FsBroker::Lib::Broker.

Definition at line 348 of file LocalBroker.cc.

void LocalBroker::shutdown ( ResponseCallback cb)
virtual

Gracefully shutdown broker, closeing open files.

Parameters
cbCallbock to be called upon finishing task.

Implements Hypertable::FsBroker::Lib::Broker.

Definition at line 679 of file LocalBroker.cc.

void LocalBroker::status ( Response::Callback::Status cb)
virtual

Check status of FSBroker.

Parameters
cbcall cb->response_ok()

Implements Hypertable::FsBroker::Lib::Broker.

Definition at line 674 of file LocalBroker.cc.

void LocalBroker::sync ( ResponseCallback cb,
uint32_t  fd 
)
virtual

Sync out data that has been written.

Parameters
fdAn open file.
cb

Implements Hypertable::FsBroker::Lib::Broker.

Definition at line 646 of file LocalBroker.cc.

Member Data Documentation

bool Hypertable::FsBroker::LocalBroker::m_directio
private

Definition at line 110 of file LocalBroker.h.

MetricsHandlerPtr Hypertable::FsBroker::LocalBroker::m_metrics_handler
private

Metrics collection handler.

Definition at line 103 of file LocalBroker.h.

bool Hypertable::FsBroker::LocalBroker::m_no_removal
private

Definition at line 111 of file LocalBroker.h.

String Hypertable::FsBroker::LocalBroker::m_rootdir
private

Definition at line 108 of file LocalBroker.h.

StatusManager Hypertable::FsBroker::LocalBroker::m_status_manager
private

Server status manager.

Definition at line 106 of file LocalBroker.h.

bool Hypertable::FsBroker::LocalBroker::m_verbose
private

Definition at line 109 of file LocalBroker.h.

atomic< int > LocalBroker::ms_next_fd
staticprivate

Definition at line 98 of file LocalBroker.h.


The documentation for this class was generated from the following files: