0.9.8.10
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Namespaces | Classes | Typedefs | Enumerations | Functions
Hyperspace Namespace Reference

Hyperspace definitions More...

Namespaces

 HsClientState
 
 HsParser
 
 StateDbKeys
 
 Util
 

Classes

struct  Attribute
 Holds extended attribute and value. More...
 
class  BDbHandles
 Manages namespace and transient state database handles. More...
 
class  BDbTxn
 Manages transaction state. More...
 
class  BerkeleyDbFilesystem
 Hyperspace filesystem implementation on top of BerkeleyDB. More...
 
class  ClientConnectionHandler
 
class  ClientHandleState
 
class  ClientKeepaliveHandler
 
class  DbtManaged
 
struct  DirEntry
 
class  DirEntryAttr
 
class  Event
 
class  EventLockAcquired
 
class  EventLockGranted
 
class  EventLockReleased
 
class  EventNamed
 
class  FileHandleCallback
 
class  HandleCallback
 
class  HsCommandInterpreter
 
class  HsHelpText
 
class  LockRequest
 Encapsulates a lock request for a file node. More...
 
struct  LockSequencer
 
struct  LtDirEntry
 
struct  LtDirEntryAttr
 
struct  LtSessionData
 
class  Master
 
class  MetricsHandler
 Collects and publishes Hyperspace metrics. More...
 
class  Notification
 
class  Protocol
 Protocol driver for encoding request messages. More...
 
class  ReplicationInfo
 Encapsulates replication state. More...
 
class  RequestHandlerAttrDel
 Unmarshalls request parameters and calls Master::attr_del(). More...
 
class  RequestHandlerAttrExists
 Unmarshalls request parameters and calls Master::attr_exists(). More...
 
class  RequestHandlerAttrGet
 
class  RequestHandlerAttrIncr
 
class  RequestHandlerAttrList
 
class  RequestHandlerAttrSet
 
class  RequestHandlerClose
 
class  RequestHandlerDelete
 
class  RequestHandlerDestroySession
 
class  RequestHandlerDoMaintenance
 
class  RequestHandlerExists
 
class  RequestHandlerExpireSessions
 
class  RequestHandlerHandshake
 
class  RequestHandlerLock
 
class  RequestHandlerMkdir
 
class  RequestHandlerOpen
 
class  RequestHandlerReaddir
 
class  RequestHandlerReaddirAttr
 
class  RequestHandlerReadpathAttr
 
class  RequestHandlerRelease
 
class  RequestHandlerRenewSession
 
class  RequestHandlerShutdown
 
class  RequestHandlerStatus
 
class  ResponseCallbackAttrExists
 Sends back result of an attr_exists request. More...
 
class  ResponseCallbackAttrGet
 Sends back result of an attr_get request. More...
 
class  ResponseCallbackAttrIncr
 
class  ResponseCallbackAttrList
 
class  ResponseCallbackExists
 
class  ResponseCallbackLock
 
class  ResponseCallbackOpen
 
class  ResponseCallbackReaddir
 
class  ResponseCallbackReaddirAttr
 
class  ResponseCallbackReadpathAttr
 
class  ResponseCallbackStatus
 
class  ServerConnectionHandler
 
class  ServerKeepaliveHandler
 
class  Session
 Hyperspace session. More...
 
class  SessionCallback
 A callback object derived from this class gets passed into the constructor of Hyperspace. More...
 
class  SessionData
 

Typedefs

typedef std::unordered_map
< uint64_t, uint64_t > 
NotificationMap
 Hash map from Node handle ID to Session ID. More...
 
typedef std::shared_ptr
< BDbHandles
BDbHandlesPtr
 Smart pointer to BDbHandles. More...
 
typedef std::shared_ptr
< ClientConnectionHandler
ClientConnectionHandlerPtr
 Shared smart pointer to ClientConnectionHandler. More...
 
typedef std::shared_ptr
< ClientHandleState
ClientHandleStatePtr
 
typedef std::shared_ptr
< ClientKeepaliveHandler
ClientKeepaliveHandlerPtr
 
typedef std::shared_ptr< EventHyperspaceEventPtr
 
typedef std::shared_ptr
< HandleCallback
HandleCallbackPtr
 
typedef std::shared_ptr
< HsCommandInterpreter
HsCommandInterpreterPtr
 
typedef std::shared_ptr< MasterMasterPtr
 
typedef std::shared_ptr
< MetricsHandler
MetricsHandlerPtr
 Smart pointer to MetricsHandler. More...
 
typedef std::shared_ptr
< ServerKeepaliveHandler
ServerKeepaliveHandlerPtr
 
typedef std::shared_ptr< SessionSessionPtr
 
typedef std::shared_ptr
< SessionData
SessionDataPtr
 

Enumerations

enum  IdentifierType { SESSION = 0, HANDLE, EVENT }
 Enumeration for object identifier types. More...
 
enum  { EVENT_TYPE_NAMED = 1, EVENT_TYPE_LOCK_ACQUIRED, EVENT_TYPE_LOCK_RELEASED, EVENT_TYPE_LOCK_GRANTED }
 
enum  {
  EVENT_MASK_ATTR_SET = 0x0001, EVENT_MASK_ATTR_DEL = 0x0002, EVENT_MASK_CHILD_NODE_ADDED = 0x0004, EVENT_MASK_CHILD_NODE_REMOVED = 0x0008,
  EVENT_MASK_LOCK_ACQUIRED = 0x0010, EVENT_MASK_LOCK_RELEASED = 0x0020, EVENT_MASK_LOCK_GRANTED = 0x0040
}
 
enum  LockMode { LOCK_MODE_SHARED = 1, LOCK_MODE_EXCLUSIVE = 2 }
 Lock mode. More...
 
enum  LockStatus { LOCK_STATUS_GRANTED = 1, LOCK_STATUS_BUSY = 2, LOCK_STATUS_PENDING = 3, LOCK_STATUS_CANCELLED = 4 }
 Lock status. More...
 
enum  {
  OPEN_FLAG_READ = 0x00001, OPEN_FLAG_WRITE = 0x00002, OPEN_FLAG_LOCK = 0x00004, OPEN_FLAG_CREATE = 0x00008,
  OPEN_FLAG_EXCL = 0x00010, OPEN_FLAG_TEMP = 0x00020, OPEN_FLAG_LOCK_SHARED = 0x00044, OPEN_FLAG_LOCK_EXCLUSIVE = 0x00084
}
 The following flags (bit masks) are ORed together and passed in as the flags argument to Open(). More...
 

Functions

std::ostream & operator<< (std::ostream &out, const BDbTxn &txn)
 Writes human-readable version of txn to an ostream. More...
 
size_t encoded_length_dir_entry (const DirEntry &dir_entry)
 Returns the number of bytes required to encode (serialize) the given directory entry. More...
 
void encode_dir_entry (uint8_t **buf_ptr, const DirEntry &dir_entry)
 Encodes (serializes) the given directory entry to a buffer. More...
 
DirEntrydecode_dir_entry (const uint8_t **buf_ptr, size_t *remaining_ptr, DirEntry &dir_entry)
 Decodes (unserializes) a directory entry from a buffer. More...
 
size_t encoded_length_dir_entry_attr (const DirEntryAttr &entry)
 Returns the number of bytes required to encode (serialize) the given directory entry. More...
 
void encode_dir_entry_attr (uint8_t **buf_ptr, const DirEntryAttr &entry)
 Encodes (serializes) the given directory entry to a buffer. More...
 
DirEntryAttrdecode_dir_entry_attr (const uint8_t **buf_ptr, size_t *remaining_ptr, DirEntryAttr &entry)
 Decodes (unserializes) a directory entry from a buffer. More...
 
const char * EventMaskToString (uint32_t mask)
 
const char * event_mask_to_string (uint32_t mask)
 
void close_handle (SessionPtr hyperspace, uint64_t handle)
 
void close_handle_ptr (SessionPtr hyperspace, uint64_t *handlep)
 

Detailed Description

Hyperspace definitions

Typedef Documentation

Shared smart pointer to ClientConnectionHandler.

Definition at line 102 of file ClientConnectionHandler.h.

Definition at line 49 of file ClientHandleState.h.

Definition at line 119 of file ClientKeepaliveHandler.h.

Definition at line 113 of file HandleCallback.h.

Definition at line 53 of file HsCommandInterpreter.h.

typedef std::shared_ptr<Event> Hyperspace::HyperspaceEventPtr

Definition at line 145 of file Event.h.

typedef std::shared_ptr<Master> Hyperspace::MasterPtr

Definition at line 362 of file Master.h.

Definition at line 56 of file ServerKeepaliveHandler.h.

typedef std::shared_ptr<SessionData> Hyperspace::SessionDataPtr

Definition at line 156 of file SessionData.h.

Enumeration Type Documentation

anonymous enum
Enumerator
EVENT_TYPE_NAMED 
EVENT_TYPE_LOCK_ACQUIRED 
EVENT_TYPE_LOCK_RELEASED 
EVENT_TYPE_LOCK_GRANTED 

Definition at line 89 of file Event.h.

anonymous enum
Enumerator
EVENT_MASK_ATTR_SET 
EVENT_MASK_ATTR_DEL 
EVENT_MASK_CHILD_NODE_ADDED 
EVENT_MASK_CHILD_NODE_REMOVED 
EVENT_MASK_LOCK_ACQUIRED 
EVENT_MASK_LOCK_RELEASED 
EVENT_MASK_LOCK_GRANTED 

Definition at line 36 of file HandleCallback.h.

Lock mode.

Used to specify the type of lock to acquire.

Enumerator
LOCK_MODE_SHARED 

Lock in shared mode.

LOCK_MODE_EXCLUSIVE 

Lock exclusive mode.

Definition at line 47 of file LockSequencer.h.

Lock status.

Used to report the result of a lock attempt

Enumerator
LOCK_STATUS_GRANTED 

Lock successfully granted.

LOCK_STATUS_BUSY 

Exclusive lock attempt failed because another has it locked.

LOCK_STATUS_PENDING 

Lock attempt pending (internal use only)

LOCK_STATUS_CANCELLED 

Lock attempt was cancelled.

Definition at line 56 of file LockSequencer.h.

Function Documentation

DirEntry & Hyperspace::decode_dir_entry ( const uint8_t **  buf_ptr,
size_t *  remaining_ptr,
DirEntry dir_entry 
)

Decodes (unserializes) a directory entry from a buffer.

Parameters
buf_ptraddress of pointer to buffer containing encoded directory entry (advanced after decode)
remaining_ptraddress of count variable holding the number of bytes remaining in buffer (decremented after decode)
dir_entrythe directory entry to encode

Definition at line 43 of file DirEntry.cc.

DirEntryAttr & Hyperspace::decode_dir_entry_attr ( const uint8_t **  buf_ptr,
size_t *  remaining_ptr,
DirEntryAttr entry 
)

Decodes (unserializes) a directory entry from a buffer.

Parameters
buf_ptraddress of pointer to buffer containing encoded directory entry (advanced after decode)
remaining_ptraddress of count variable holding the number of bytes remaining in buffer (decremented after decode)
entrythe directory entry to encode

Definition at line 53 of file DirEntryAttr.cc.

void Hyperspace::encode_dir_entry ( uint8_t **  buf_ptr,
const DirEntry dir_entry 
)

Encodes (serializes) the given directory entry to a buffer.

Parameters
buf_ptraddress of pointer to buffer to receive encoded directory entry (pointer is advanced passed the encoded entry)
dir_entrythe directory entry to encode

Definition at line 37 of file DirEntry.cc.

void Hyperspace::encode_dir_entry_attr ( uint8_t **  buf_ptr,
const DirEntryAttr entry 
)

Encodes (serializes) the given directory entry to a buffer.

Parameters
buf_ptraddress of pointer to buffer to receive encoded directory entry (pointer is advanced passed the encoded entry)
entrythe directory entry to encode

Definition at line 42 of file DirEntryAttr.cc.

size_t Hyperspace::encoded_length_dir_entry ( const DirEntry dir_entry)

Returns the number of bytes required to encode (serialize) the given directory entry.

Parameters
dir_entrythe directory entry
Returns
the exact number of bytes required to encode dir_entry

Definition at line 33 of file DirEntry.cc.

size_t Hyperspace::encoded_length_dir_entry_attr ( const DirEntryAttr entry)

Returns the number of bytes required to encode (serialize) the given directory entry.

Parameters
entrythe directory entry
Returns
the exact number of bytes required to encode entry

Definition at line 35 of file DirEntryAttr.cc.

const char* Hyperspace::event_mask_to_string ( uint32_t  mask)
const char* Hyperspace::EventMaskToString ( uint32_t  mask)

Definition at line 27 of file HandleCallback.cc.