/*
- * Copyright 2016 Facebook, Inc.
+ * Copyright 2017 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
#include <iostream>
#include <thread>
-#include <folly/detail/Futex.h>
#include <folly/experimental/LockFreeRingBuffer.h>
-#include <folly/test/DeterministicSchedule.h>
#include <folly/portability/GTest.h>
+#include <folly/test/DeterministicSchedule.h>
namespace folly {
}
// expose the cursor raw value via a wrapper type
-template<typename T, template<typename> class Atom>
+template <typename T, template <typename> class Atom>
uint64_t value(const typename LockFreeRingBuffer<T, Atom>::Cursor& rbcursor) {
typedef typename LockFreeRingBuffer<T,Atom>::Cursor RBCursor;
return ExposedCursor(rbcursor).value();
}
-template<template<typename> class Atom>
+template <template <typename> class Atom>
void runReader(
LockFreeRingBuffer<int, Atom>& rb, std::atomic<int32_t>& writes
) {
}
}
-template<template<typename> class Atom>
+template <template <typename> class Atom>
void runWritesNeverFail(
int capacity, int writes, int writers
) {