Summary: The capacity variable changed types, and turn function needed an explicit cast.
Reviewed By: @BurntBrunch
Differential Revision:
D2421421
friend class LockFreeRingBuffer;
};
friend class LockFreeRingBuffer;
};
- explicit LockFreeRingBuffer(size_t capacity) noexcept
+ explicit LockFreeRingBuffer(uint32_t capacity) noexcept
: capacity_(capacity)
, slots_(new detail::RingBufferSlot<T,Atom>[capacity])
, ticket_(0)
: capacity_(capacity)
, slots_(new detail::RingBufferSlot<T,Atom>[capacity])
, ticket_(0)
- const size_t capacity_;
+ const uint32_t capacity_;
const std::unique_ptr<detail::RingBufferSlot<T,Atom>[]> slots_;
const std::unique_ptr<detail::RingBufferSlot<T,Atom>[]> slots_;
}
uint32_t turn(uint64_t ticket) noexcept {
}
uint32_t turn(uint64_t ticket) noexcept {
- return (ticket / capacity_);
+ return (uint32_t)(ticket / capacity_);
}
}; // LockFreeRingBuffer
}
}; // LockFreeRingBuffer