![]()  | 
  
    MySQL 8.4.7
    
   Source Code Documentation 
   | 
 
Dirty page archiver client context. More...
#include <arch0page.h>
Public Member Functions | |
| Page_Arch_Client_Ctx (bool is_durable) | |
| Constructor: Initialize elements.  More... | |
| ~Page_Arch_Client_Ctx () | |
| Destructor.  More... | |
| int | start (bool recovery, uint64_t *start_id) | 
| Start dirty page tracking and archiving.  More... | |
| int | stop (uint64_t *stop_id) | 
| Stop dirty page tracking and archiving.  More... | |
| void | release () | 
| Release archived data so that system can purge it.  More... | |
| int | init_during_recovery (Arch_Group *group, lsn_t last_lsn) | 
| Initialize context during recovery.  More... | |
| bool | is_active () const | 
| Check if this client context is active.  More... | |
| int | get_pages (Page_Arch_Cbk *cbk_func, void *cbk_ctx, byte *buff, uint buf_len) | 
| Get archived page Ids.  More... | |
| void | print () | 
| Print information related to the archiver client for debugging purposes.  More... | |
| Page_Arch_Client_Ctx (Page_Arch_Client_Ctx const &)=delete | |
| Disable copy construction.  More... | |
| Page_Arch_Client_Ctx & | operator= (Page_Arch_Client_Ctx const &)=delete | 
| Disable assignment.  More... | |
Private Member Functions | |
| void | arch_client_mutex_enter () | 
| Acquire client archiver mutex.  More... | |
| void | arch_client_mutex_exit () | 
| Release client archiver mutex.  More... | |
Private Attributes | |
| Arch_Client_State | m_state {ARCH_CLIENT_STATE_INIT} | 
| Page archiver client state.  More... | |
| Arch_Group * | m_group {nullptr} | 
| Archive group the client is attached to.  More... | |
| bool | m_is_durable | 
| True if the client requires durablity.  More... | |
| lsn_t | m_start_lsn {LSN_MAX} | 
| Start LSN for archived data.  More... | |
| lsn_t | m_stop_lsn {LSN_MAX} | 
| Stop LSN for archived data.  More... | |
| lsn_t | m_last_reset_lsn {LSN_MAX} | 
| Reset LSN at the time of last reset.  More... | |
| Arch_Page_Pos | m_start_pos | 
| Start position for client in archived file group.  More... | |
| Arch_Page_Pos | m_stop_pos | 
| Stop position for client in archived file group.  More... | |
| ib_mutex_t | m_mutex | 
| Mutex protecting concurrent operation on data.  More... | |
Dirty page archiver client context.
      
  | 
  inline | 
Constructor: Initialize elements.
| [in] | is_durable | true if the client requires durability, else false | 
      
  | 
  inline | 
Destructor.
      
  | 
  delete | 
Disable copy construction.
      
  | 
  inlineprivate | 
Acquire client archiver mutex.
It synchronizes members on concurrent start and stop operations.
      
  | 
  inlineprivate | 
Release client archiver mutex.
| int Page_Arch_Client_Ctx::get_pages | ( | Page_Arch_Cbk * | cbk_func, | 
| void * | cbk_ctx, | ||
| byte * | buff, | ||
| uint | buf_len | ||
| ) | 
Get archived page Ids.
Attempt to read blocks directly from in memory buffer. If overwritten, copy from archived files.
| [in] | cbk_func | called repeatedly with page ID buffer | 
| [in] | cbk_ctx | callback function context | 
| [in,out] | buff | buffer to fill page IDs | 
| [in] | buf_len | buffer length in bytes | 
| int Page_Arch_Client_Ctx::init_during_recovery | ( | Arch_Group * | group, | 
| lsn_t | last_lsn | ||
| ) | 
Initialize context during recovery.
| [in] | group | Group which needs to be attached to the client | 
| [in] | last_lsn | last reset lsn | 
      
  | 
  inline | 
Check if this client context is active.
      
  | 
  delete | 
Disable assignment.
| void Page_Arch_Client_Ctx::print | ( | ) | 
Print information related to the archiver client for debugging purposes.
| void Page_Arch_Client_Ctx::release | ( | ) | 
Release archived data so that system can purge it.
| int Page_Arch_Client_Ctx::start | ( | bool | recovery, | 
| uint64_t * | start_id | ||
| ) | 
Start dirty page tracking and archiving.
| [in] | recovery | true if the tracking is being started as part of recovery process | 
| [out] | start_id | fill the start lsn | 
| int Page_Arch_Client_Ctx::stop | ( | uint64_t * | stop_id | ) | 
Stop dirty page tracking and archiving.
| [out] | stop_id | fill the stop lsn | 
      
  | 
  private | 
Archive group the client is attached to.
      
  | 
  private | 
True if the client requires durablity.
      
  | 
  private | 
Mutex protecting concurrent operation on data.
      
  | 
  private | 
Start position for client in archived file group.
      
  | 
  private | 
Page archiver client state.
      
  | 
  private | 
Stop position for client in archived file group.