HOPS
HOPS class reference
Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
hops::MHO_FileKey Class Reference

Class MHO_FileKey the version-0 size of the file key is (512 bits / 64 bytes), and all of the version-0 data fields must be present and structure unchanged in any future versions. A future version X of MHO_FileKey may extend the file key by N bytes of arbitrarily structured data to be inserted (after the end of the V0 key and before the file object it describes, so long as N+64 < UINT16_MAX, and the appropriate StreamInData_VX/StreamOutData_VX and ByteSize functions are defined. More...

#include <MHO_FileKey.hh>

Public Member Functions

 MHO_FileKey ()
 
 MHO_FileKey (const MHO_FileKey &copy)
 
virtual ~MHO_FileKey ()
 
bool operator!= (const MHO_FileKey &rhs)
 
MHO_FileKeyoperator= (const MHO_FileKey &rhs)
 
bool operator== (const MHO_FileKey &rhs)
 

Static Public Member Functions

static uint64_t ByteSize ()
 Returns the size of MHO_FileKey in bytes. this is the size of a MHO_FileKey on disk DO NOT USE sizeof(MHO_FileKey), as that is the size of the object in memory which may include compiler dependent padding!! More...
 

Public Attributes

uint32_t fLabel
 
char fName [MHO_FileKeyNameLength]
 
MHO_UUID fObjectId
 
uint64_t fSize
 
uint32_t fSync
 
MHO_UUID fTypeId
 

Friends

template<typename XStream >
XStream & operator<< (XStream &s, const MHO_FileKey &aData)
 
template<typename XStream >
XStream & operator>> (XStream &s, MHO_FileKey &aData)
 

Detailed Description

Class MHO_FileKey the version-0 size of the file key is (512 bits / 64 bytes), and all of the version-0 data fields must be present and structure unchanged in any future versions. A future version X of MHO_FileKey may extend the file key by N bytes of arbitrarily structured data to be inserted (after the end of the V0 key and before the file object it describes, so long as N+64 < UINT16_MAX, and the appropriate StreamInData_VX/StreamOutData_VX and ByteSize functions are defined.

class for file object keys to locate and describe objects in a hops file

Author
J. Barrett - barre.nosp@m.ttj@.nosp@m.mit.e.nosp@m.du
Date
Wed Apr 21 13:40:18 2021 -0400

Constructor & Destructor Documentation

◆ MHO_FileKey() [1/2]

hops::MHO_FileKey::MHO_FileKey ( )
inline

◆ MHO_FileKey() [2/2]

hops::MHO_FileKey::MHO_FileKey ( const MHO_FileKey copy)
inline

◆ ~MHO_FileKey()

virtual hops::MHO_FileKey::~MHO_FileKey ( )
inlinevirtual

Member Function Documentation

◆ ByteSize()

static uint64_t hops::MHO_FileKey::ByteSize ( )
inlinestatic

Returns the size of MHO_FileKey in bytes. this is the size of a MHO_FileKey on disk DO NOT USE sizeof(MHO_FileKey), as that is the size of the object in memory which may include compiler dependent padding!!

Returns
Size of MHO_FileKey as uint64_t.
Note
This is a static function.

◆ operator!=()

bool hops::MHO_FileKey::operator!= ( const MHO_FileKey rhs)
inline

◆ operator=()

MHO_FileKey& hops::MHO_FileKey::operator= ( const MHO_FileKey rhs)
inline

◆ operator==()

bool hops::MHO_FileKey::operator== ( const MHO_FileKey rhs)
inline

Friends And Related Function Documentation

◆ operator<<

template<typename XStream >
XStream& operator<< ( XStream &  s,
const MHO_FileKey aData 
)
friend

◆ operator>>

template<typename XStream >
XStream& operator>> ( XStream &  s,
MHO_FileKey aData 
)
friend

Member Data Documentation

◆ fLabel

uint32_t hops::MHO_FileKey::fLabel

◆ fName

char hops::MHO_FileKey::fName[MHO_FileKeyNameLength]

◆ fObjectId

MHO_UUID hops::MHO_FileKey::fObjectId

◆ fSize

uint64_t hops::MHO_FileKey::fSize

◆ fSync

uint32_t hops::MHO_FileKey::fSync

◆ fTypeId

MHO_UUID hops::MHO_FileKey::fTypeId

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