> std::unique_ptr<FrameDroppingPolicy> is effectively const but the
> FrameDroppingPolicy object itself is not, so we need to ensure it's thread-
> safe. It's not obvious that our TimeoutFrameDroppingPolicy implementation is
> thread-safe; calling Alarm methods muddies the water.
So the methods of interest are swap_now_blocking and swap_unblocked in TimeoutFrameDroppingPolicy
The question is really should those methods be completely atomic or can we get by if they are not (i.e. is pending_swaps being atomic sufficient)- so I will stare at them a bit more...
> std::unique_ ptr<FrameDroppi ngPolicy> is effectively const but the ppingPolicy implementation is
> FrameDroppingPolicy object itself is not, so we need to ensure it's thread-
> safe. It's not obvious that our TimeoutFrameDro
> thread-safe; calling Alarm methods muddies the water.
So the methods of interest are swap_now_blocking and swap_unblocked in TimeoutFrameDro ppingPolicy
The question is really should those methods be completely atomic or can we get by if they are not (i.e. is pending_swaps being atomic sufficient)- so I will stare at them a bit more...