![]() |
MySQL 26.10.0
Source Code Documentation
|
Registry of per-thread Redo_applier instances, which can be all freed by calling reset(). More...
#include <log0recv.h>
Public Types | |
| using | Storage = ut::Per_thread< ut::unique_ptr< ib::redo::Redo_applier > > |
Public Member Functions | |
| Redo_applier_registry () | |
| Redo_applier_registry (const Redo_applier_registry &)=delete | |
| Redo_applier_registry & | operator= (const Redo_applier_registry &)=delete |
| void | reset () |
| Destroy all per-thread appliers owned by this registry. More... | |
| ib::redo::Redo_applier * | operator-> () |
| Return the Redo_applier associated with the calling thread. More... | |
Private Attributes | |
| ut::unique_ptr< Storage > | m_storage |
Registry of per-thread Redo_applier instances, which can be all freed by calling reset().
This is used and owned by recv_sys. This wraps ut::Per_thread so recovery workers can reuse one Redo_applier per thread while keeping explicit recv_sys-controlled destruction instead of thread-exit destruction.
| using ib::redo::Redo_applier_registry::Storage = ut::Per_thread<ut::unique_ptr<ib::redo::Redo_applier> > |
|
inline |
|
delete |
|
inline |
Return the Redo_applier associated with the calling thread.
The applier is created on first access for that thread.
|
delete |
|
inline |
Destroy all per-thread appliers owned by this registry.
Calling operator->() afterwards is a contract violation.
|
private |