#include <pfs_buffer_container.h>
|
static const size_t | MAX_SIZE = PFS_PAGE_SIZE * PFS_PAGE_COUNT |
|
◆ allocator_type
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ array_type
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
Type of pages in the buffer.
The following attributes are required:
PFS_opaque_container *m_container
◆ const_iterator_type
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ container_type
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ function_type
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ iterator_type
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ processor_type
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ value_type
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
Type of elements in the buffer.
The following attributes are required:
A 'lock' protecting performance schema internal buffers.
Definition: pfs_lock.h:154
PFS_opaque_container_page *m_page
◆ PFS_buffer_scalable_container()
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ allocate()
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ apply() [1/2]
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ apply() [2/2]
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ apply_all() [1/2]
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ apply_all() [2/2]
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ cleanup()
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ deallocate()
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ dirty_to_free()
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ get() [1/2]
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ get() [2/2]
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ get_memory()
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ get_page_logical_size()
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ get_row_count()
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ get_row_size()
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ init()
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ iterate() [1/2]
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ iterate() [2/2]
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ sanitize()
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ scan_next()
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ static_deallocate()
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ PFS_buffer_scalable_iterator< T, PFS_PAGE_SIZE, PFS_PAGE_COUNT, U, V >
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ m_allocator
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
Buffer allocator.
Concurrency profile:
- written once on buffer creation
- read only during normal operations.
◆ m_critical_section
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ m_full
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
Buffer full flag.
Concurrency profile:
- mostly read during normal operations.
- do not perform useless write, check for previous value first
- occasional write on state changes
◆ m_initialized
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
Initialized full flag.
Concurrency profile:
- write in init / cleanup
- readonly during normal operations
◆ m_last_page_size
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
Size of the last page.
Concurrency profile:
- written once on buffer creation
- read only during normal operations.
◆ m_lost
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
◆ m_max
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
Max number of items in the buffer.
Concurrency profile:
- written once on page creation
- read only during normal operations.
◆ m_max_page_count
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
Max number of pages.
Concurrency profile:
- written once on buffer creation
- read only during normal operations.
◆ m_max_page_index
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
Current page index.
Concurrency profile:
- occasional write on buffer extend
- mostly read otherwise
◆ m_monotonic
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
Monotonic page counter.
This counter is used to access pages in the array.
Concurrency profile:
- frequent read and write, must be on its own cacheline
◆ m_pages
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
Array of pages.
Concurrency profile:
- occasional write on buffer extend
- mostly read otherwise
◆ MAX_SIZE
template<class T , int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class
U = PFS_buffer_default_array<T>, class V = PFS_buffer_default_allocator<T>>
The documentation for this class was generated from the following file: