Sean Kelly Wrote: > The unshared methods are only ever meant to be called by the queue owner. > They access some member data without synchronization to make the queue > efficient for receive calls. I could make these methods shared anyway, but if > they were called concurrently by accident it would mean data corruption.
If member data of a shared object is non-shared, it can be probably separated into another object, which will be really unshared. Unshared object can aggregate shared part through alias this if you want to see them as one object.