// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CONTENT_COMMON_SHARED_MEMORY_SEQLOCK_BUFFER_H_ #define CONTENT_COMMON_SHARED_MEMORY_SEQLOCK_BUFFER_H_ #include "content/common/one_writer_seqlock.h" namespace content { // This structure is stored in shared memory that's shared between the browser // which does the hardware polling, and the consumers of the data, // i.e. the renderers. The performance characteristics are that // we want low latency (so would like to avoid explicit communication via IPC // between producer and consumer) and relatively large data size. // // Writer and reader operate on the same buffer assuming contention is low, and // contention is detected by using the associated SeqLock. template<class Data> class SharedMemorySeqLockBuffer { public: OneWriterSeqLock seqlock; Data data; }; } // namespace content #endif // CONTENT_COMMON_SHARED_MEMORY_SEQLOCK_BUFFER_H_