|
MIRA
|
A special base class creating and keeping a copy of the channel slot instead of managing access and locking of the original slot. More...
#include <fw/ChannelReadWrite.h>
Public Types | |
| typedef ChannelReadWriteTraits< DerivedContainer >::ChannelType | ChannelType |
| typedef ChannelReadWriteTraits< DerivedContainer >::SlotType | Slot |
| typedef ChannelReadWriteTraits< DerivedContainer >::ValueType | ValueType |
| typedef ChannelType * | ChannelTypePtr |
Public Member Functions | |
| ChannelReadCopy (ChannelTypePtr iChannel, ChannelBufferBase::Slot *iSlot) | |
Public Attributes | |
| ChannelTypePtr | channel |
| pointer to the channel our data/slot belongs to More... | |
| std::unique_ptr< ChannelBufferBase::Slot > | slotHolder |
| we are the unique owner of this slot copy More... | |
| ChannelBufferBase::Slot * | slot |
| MockLock | lock |
A special base class creating and keeping a copy of the channel slot instead of managing access and locking of the original slot.
Use of this base for read access will remove the potential for dead-locks between a channel writer and a channel multi-reader competing for the same slot. (see ticket #941) Obviously, this only makes sense if the slot data is cheap to copy.
| typedef ChannelReadWriteTraits<DerivedContainer>::ChannelType ChannelType |
| typedef ChannelReadWriteTraits<DerivedContainer>::SlotType Slot |
| typedef ChannelReadWriteTraits<DerivedContainer>::ValueType ValueType |
| typedef ChannelType* ChannelTypePtr |
|
inline |
| ChannelTypePtr channel |
pointer to the channel our data/slot belongs to
| std::unique_ptr<ChannelBufferBase::Slot> slotHolder |
we are the unique owner of this slot copy
| ChannelBufferBase::Slot* slot |
| MockLock lock |
1.8.14