| 822 | class ThreadSafeAsyncVar : NonCopyable, public ThreadSafeReferenceCounted<ThreadSafeAsyncVar<V>> { |
| 823 | public: |
| 824 | struct State { |
| 825 | State(V value, ThreadFuture<Void> onChange) : value(value), onChange(onChange) {} |
| 826 | |
| 827 | V value; |
| 828 | ThreadFuture<Void> onChange; |
| 829 | }; |
| 830 | |
| 831 | ThreadSafeAsyncVar() : value(), nextChange(new ThreadSingleAssignmentVar<Void>()) {} |
| 832 | ThreadSafeAsyncVar(V const& v) : value(v), nextChange(new ThreadSingleAssignmentVar<Void>()) {} |