|
dxd - dynax driver framework 3.0.1d223
cross platform open source driver development framework
|
a stream whose ring and events live in named shared memory, so another process attaches to them by name - the host sizes and resets the ring, a hosted device takes what it finds (device_t::hosted) More...
#include <dx_stream_shared_stream.h>
Public Member Functions | |
| stream (device_t &device, const decltype(super::id)&id, const super::desc &desc) | |
| ~stream () override | |
| the session is each class's own conclude()'s to end, dx::stream::stream's for this one; a derived pipe has freed its ring by now | |
Public Attributes | |
| const std::string | uid |
Protected Types | |
| typedef dx::shared::memory< circular_t > | memory |
Protected Member Functions | |
| void | alloc (size_t size, bool free=true) override |
| catch (...) | |
| void | free () noexcept override |
| reference & | initialize (const std::string &name) |
| memory & | initialize (const std::string &name, uint32_t version, size_t size=0) |
| reference & | initialize (const std::string &name) |
| operator bool () const noexcept | |
| true if this shared memory is currently in use by some process - a cheap, non-destructive existence probe (shm_open without O_CREAT, then immediately close) that neither maps nor creates anything itself. | |
| operator const os_event () const noexcept | |
| operator const os_event () const noexcept | |
| operator const os_event () const noexcept | |
| operator const os_event () const noexcept | |
| operator dx::circular & () | |
| operator dx::circular & () | |
| operator dx::circular * () | |
| operator dx::circular * () | |
| operator os_event () noexcept | |
| operator os_event () noexcept | |
| operator os_event () noexcept | |
| operator os_event () noexcept | |
| operator struct ::stat () | |
| dx::circular & | operator* () |
| dx::circular * | operator-> () |
| operator::HANDLE () const noexcept | |
| operator::HANDLE () const noexcept | |
| operator::HANDLE () const noexcept | |
| operator::HANDLE () const noexcept | |
| bool | release () noexcept |
| releases this hold | |
| bool | release () noexcept |
| releases this hold | |
| bool | release () noexcept |
| releases this hold | |
| bool | release () noexcept |
| releases this hold | |
| size_t | size () const |
Static Protected Member Functions | |
| static bool | exists (const std::string &name) noexcept |
| the same probe on a name alone, for a side that must attach to another's segment rather than create one | |
| static std::string | path (const std::string &name) |
| the name a segment carries in the system: the uid, hashed where it exceeds what a shared memory name takes | |
Protected Attributes | |
| bool | joined |
| true if initialize() found another holder already present, false if this was the first | |
| bool | joined {} |
| true if initialize() found another holder already present, false if this was the first | |
| ::HANDLE | process |
| ::HANDLE | process |
| ::HANDLE | process |
| ::HANDLE | process |
a stream whose ring and events live in named shared memory, so another process attaches to them by name - the host sizes and resets the ring, a hosted device takes what it finds (device_t::hosted)
|
protected |
|
inline |
|
inlineoverride |
the session is each class's own conclude()'s to end, dx::stream::stream's for this one; a derived pipe has freed its ring by now
|
inlineoverrideprotected |
< a hosted stream attaches to its host's ring: creating one here would be an empty segment the host never sized
|
inlineinherited |
|
inlinestaticnoexceptinherited |
the same probe on a name alone, for a side that must attach to another's segment rather than create one
|
inlineoverrideprotectedvirtualnoexcept |
Reimplemented from dx::shared::memory< dx::circular >.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
true if this shared memory is currently in use by some process - a cheap, non-destructive existence probe (shm_open without O_CREAT, then immediately close) that neither maps nor creates anything itself.
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineexplicitinherited |
|
inlineexplicitinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinestaticinherited |
the name a segment carries in the system: the uid, hashed where it exceeds what a shared memory name takes
|
inlinenoexceptinherited |
releases this hold
|
inlinenoexceptinherited |
releases this hold
|
inlinenoexceptinherited |
releases this hold
|
inlinenoexceptinherited |
releases this hold
|
inlineinherited |
|
inherited |
true if initialize() found another holder already present, false if this was the first
|
inherited |
true if initialize() found another holder already present, false if this was the first
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
| const std::string dx::stream::shared::stream< device_t, circular_t, super_stream_t, event_t >::uid |
| (c) copyright 2009 dynamic acoustics e.U. | generated on |