Index: third_party/protobuf/src/google/protobuf/stubs/atomic_sequence_num.h |
diff --git a/third_party/protobuf/src/google/protobuf/io/zero_copy_stream.cc b/third_party/protobuf/src/google/protobuf/stubs/atomic_sequence_num.h |
similarity index 76% |
copy from third_party/protobuf/src/google/protobuf/io/zero_copy_stream.cc |
copy to third_party/protobuf/src/google/protobuf/stubs/atomic_sequence_num.h |
index dad6ff14468d031f16baafb2f1ca567961251c43..bb20942f2f77041df602544a8e888341e46feb4b 100644 |
--- a/third_party/protobuf/src/google/protobuf/io/zero_copy_stream.cc |
+++ b/third_party/protobuf/src/google/protobuf/stubs/atomic_sequence_num.h |
@@ -1,6 +1,6 @@ |
// Protocol Buffers - Google's data interchange format |
-// Copyright 2008 Google Inc. All rights reserved. |
-// http://code.google.com/p/protobuf/ |
+// Copyright 2014 Google Inc. All rights reserved. |
+// https://developers.google.com/protocol-buffers/ |
// |
// Redistribution and use in source and binary forms, with or without |
// modification, are permitted provided that the following conditions are |
@@ -27,22 +27,28 @@ |
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
+#ifndef GOOGLE_PROTOBUF_ATOMIC_SEQUENCE_NUM_H_ |
+#define GOOGLE_PROTOBUF_ATOMIC_SEQUENCE_NUM_H_ |
-// Author: kenton@google.com (Kenton Varda) |
-// Based on original Protocol Buffers design by |
-// Sanjay Ghemawat, Jeff Dean, and others. |
- |
-#include <google/protobuf/io/zero_copy_stream.h> |
- |
+#include <google/protobuf/stubs/atomicops.h> |
namespace google { |
namespace protobuf { |
-namespace io { |
+namespace internal { |
-ZeroCopyInputStream::~ZeroCopyInputStream() {} |
-ZeroCopyOutputStream::~ZeroCopyOutputStream() {} |
+class SequenceNumber { |
+ public: |
+ SequenceNumber() : word_(0) {} |
+ AtomicWord GetNext() { |
+ return NoBarrier_AtomicIncrement(&word_, 1) - 1; |
+ } |
+ private: |
+ AtomicWord word_; |
+}; |
-} // namespace io |
+} // namespace internal |
} // namespace protobuf |
} // namespace google |
+ |
+#endif // GOOGLE_PROTOBUF_ATOMIC_SEQUENCE_NUM_H_ |