class Poco::SharedMemoryImpl
Overview
A dummy implementation of shared memory, for systems that do not have shared memory support. Moreā¦
#include <SharedMemory_DUMMY.h> class SharedMemoryImpl: public Poco::RefCountedObject { public: // construction SharedMemoryImpl( const std::string& id, std::size_t size, SharedMemory::AccessMode mode, const void* addr, bool server ); SharedMemoryImpl( const Poco::File& aFile, SharedMemory::AccessMode mode, const void* addr ); SharedMemoryImpl( const std::string& name, std::size_t size, SharedMemory::AccessMode mode, const void* addrHint, bool server ); SharedMemoryImpl( const Poco::File& file, SharedMemory::AccessMode mode, const void* addrHint ); // methods char* begin() const; char* end() const; char* begin() const; char* end() const; protected: // methods void map(const void* addrHint); void unmap(); void close(); void map(); };
Inherited Members
public: // methods void duplicate() const; void release() const; int referenceCount() const;
Detailed Documentation
A dummy implementation of shared memory, for systems that do not have shared memory support.
Shared memory implementation for Windows platforms.
Shared memory implementation for POSIX platforms.
Construction
SharedMemoryImpl( const std::string& id, std::size_t size, SharedMemory::AccessMode mode, const void* addr, bool server )
Creates or connects to a shared memory object with the given name.
For maximum portability, name should be a valid Unix filename and not contain any slashes or backslashes.
An address hint can be passed to the system, specifying the desired start address of the shared memory area. Whether the hint is actually honored is, however, up to the system. Windows platform will generally ignore the hint.
SharedMemoryImpl( const Poco::File& aFile, SharedMemory::AccessMode mode, const void* addr )
Maps the entire contents of file into a shared memory segment.
An address hint can be passed to the system, specifying the desired start address of the shared memory area. Whether the hint is actually honored is, however, up to the system. Windows platform will generally ignore the hint.
SharedMemoryImpl( const std::string& name, std::size_t size, SharedMemory::AccessMode mode, const void* addrHint, bool server )
Creates or connects to a shared memory object with the given name.
For maximum portability, name should be a valid Unix filename and not contain any slashes or backslashes.
An address hint can be passed to the system, specifying the desired start address of the shared memory area. Whether the hint is actually honored is, however, up to the system. Windows platform will generally ignore the hint.
If server is set to false, the shared memory region will be unlinked by calling shm_unlink when the SharedMemory object is destroyed.
SharedMemoryImpl( const Poco::File& file, SharedMemory::AccessMode mode, const void* addrHint )
Maps the entire contents of file into a shared memory segment.
An address hint can be passed to the system, specifying the desired start address of the shared memory area. Whether the hint is actually honored is, however, up to the system. Windows platform will generally ignore the hint.
Methods
char* begin() const
Returns the start address of the shared memory segment.
char* end() const
Returns the one-past-end end address of the shared memory segment.
char* begin() const
Returns the start address of the shared memory segment.
char* end() const
Returns the one-past-end end address of the shared memory segment.
void map(const void* addrHint)
Maps the shared memory object.
void unmap()
Unmaps the shared memory object.
void close()
Releases the handle for the shared memory segment.
void map()
Maps the shared memory object.