View on GitHub

Vistle

Distributed Data-parallel Scientific Visualization in VR

Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
vistle::Shm Class Reference

#include <core/shm.h>

Public Types

typedef boost::interprocess::allocator< void, managed_shm::segment_manager > void_allocator
 

Public Member Functions

void detach ()
 
void setRemoveOnDetach ()
 
std::string name () const
 
const std::string & instanceName () const
 
int owningRank () const
 
managed_shmshm ()
 
const managed_shmshm () const
 
const void_allocatorallocator () const
 
std::string createArrayId (const std::string &name="")
 
std::string createObjectId (const std::string &name="")
 
void lockObjects () const
 
void unlockObjects () const
 
void lockDictionary () const
 
void unlockDictionary () const
 
int objectID () const
 
int arrayID () const
 
void setObjectID (int id)
 
void setArrayID (int id)
 
std::shared_ptr< const ObjectgetObjectFromHandle (const shm_handle_t &handle) const
 
shm_handle_t getHandleFromObject (std::shared_ptr< const Object > object) const
 
shm_handle_t getHandleFromObject (const Object *object) const
 
shm_handle_t getHandleFromArray (const ShmData *array) const
 
ObjectDatagetObjectDataFromName (const std::string &name) const
 
ObjectDatagetObjectDataFromHandle (const shm_handle_t &handle) const
 
std::shared_ptr< const ObjectgetObjectFromName (const std::string &name, bool onlyComplete=true) const
 
template<typename T >
const ShmVector< T > getArrayFromName (const std::string &name) const
 
void markAsRemoved (const std::string &name)
 
void addObject (const std::string &name, const shm_handle_t &handle)
 
void addArray (const std::string &name, const ShmData *array)
 

Static Public Member Functions

static std::string instanceName (const std::string &host, unsigned short port)
 
static Shmthe ()
 
static bool perRank ()
 
static bool remove (const std::string &shmname, int moduleID, int rank, bool perRank)
 
static Shmcreate (const std::string &shmname, int moduleID, int rank, bool perRank)
 
static Shmattach (const std::string &shmname, int moduleID, int rank, bool perRank)
 
static bool isAttached ()
 
static std::string shmIdFilename ()
 
static bool cleanAll (int rank)
 

Friends

template<typename T >
struct shm
 
class Communicator
 

Member Typedef Documentation

◆ void_allocator

typedef boost::interprocess::allocator<void, managed_shm::segment_manager> vistle::Shm::void_allocator

Member Function Documentation

◆ addArray()

void vistle::Shm::addArray ( const std::string &  name,
const ShmData array 
)

◆ addObject()

void vistle::Shm::addObject ( const std::string &  name,
const shm_handle_t handle 
)

◆ allocator()

const Shm::void_allocator & vistle::Shm::allocator ( ) const

◆ arrayID()

int vistle::Shm::arrayID ( ) const

◆ attach()

Shm & vistle::Shm::attach ( const std::string &  shmname,
int  moduleID,
int  rank,
bool  perRank 
)
static

◆ cleanAll()

bool vistle::Shm::cleanAll ( int  rank)
static

◆ create()

Shm & vistle::Shm::create ( const std::string &  shmname,
int  moduleID,
int  rank,
bool  perRank 
)
static

◆ createArrayId()

std::string vistle::Shm::createArrayId ( const std::string &  name = "")

◆ createObjectId()

std::string vistle::Shm::createObjectId ( const std::string &  name = "")

◆ detach()

void vistle::Shm::detach ( )

◆ getArrayFromName()

template<typename T >
const ShmVector< T > vistle::Shm::getArrayFromName ( const std::string &  name) const

◆ getHandleFromArray()

shm_handle_t vistle::Shm::getHandleFromArray ( const ShmData array) const

◆ getHandleFromObject() [1/2]

shm_handle_t vistle::Shm::getHandleFromObject ( const Object object) const

◆ getHandleFromObject() [2/2]

shm_handle_t vistle::Shm::getHandleFromObject ( std::shared_ptr< const Object object) const

◆ getObjectDataFromHandle()

ObjectData * vistle::Shm::getObjectDataFromHandle ( const shm_handle_t handle) const

◆ getObjectDataFromName()

ObjectData * vistle::Shm::getObjectDataFromName ( const std::string &  name) const

◆ getObjectFromHandle()

Object::const_ptr vistle::Shm::getObjectFromHandle ( const shm_handle_t handle) const

◆ getObjectFromName()

Object::const_ptr vistle::Shm::getObjectFromName ( const std::string &  name,
bool  onlyComplete = true 
) const

◆ instanceName() [1/2]

const std::string & vistle::Shm::instanceName ( ) const

◆ instanceName() [2/2]

std::string vistle::Shm::instanceName ( const std::string &  host,
unsigned short  port 
)
static

◆ isAttached()

bool vistle::Shm::isAttached ( )
static

◆ lockDictionary()

void vistle::Shm::lockDictionary ( ) const

◆ lockObjects()

void vistle::Shm::lockObjects ( ) const

◆ markAsRemoved()

void vistle::Shm::markAsRemoved ( const std::string &  name)

◆ name()

std::string vistle::Shm::name ( ) const

◆ objectID()

int vistle::Shm::objectID ( ) const

◆ owningRank()

int vistle::Shm::owningRank ( ) const

◆ perRank()

bool vistle::Shm::perRank ( )
static

◆ remove()

bool vistle::Shm::remove ( const std::string &  shmname,
int  moduleID,
int  rank,
bool  perRank 
)
static

◆ setArrayID()

void vistle::Shm::setArrayID ( int  id)

◆ setObjectID()

void vistle::Shm::setObjectID ( int  id)

◆ setRemoveOnDetach()

void vistle::Shm::setRemoveOnDetach ( )

◆ shm() [1/2]

managed_shm & vistle::Shm::shm ( )

◆ shm() [2/2]

const managed_shm & vistle::Shm::shm ( ) const

◆ shmIdFilename()

std::string vistle::Shm::shmIdFilename ( )
static

◆ the()

Shm & vistle::Shm::the ( )
static

◆ unlockDictionary()

void vistle::Shm::unlockDictionary ( ) const

◆ unlockObjects()

void vistle::Shm::unlockObjects ( ) const

Friends And Related Function Documentation

◆ Communicator

friend class Communicator
friend

◆ shm

template<typename T >
friend struct shm
friend

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