mirror of
https://github.com/codership/wsrep-lib.git
synced 2025-07-28 20:02:00 +03:00
Introduced adopt_transaction() for storage_service interface
A SR transaction must be adopted by a storage service instance running in background rollbacker thread while it is aborting a SR transaction.
This commit is contained in:
@ -1,25 +0,0 @@
|
||||
//
|
||||
// Copyright (C) 2018 Codership Oy <info@codership.com>
|
||||
//
|
||||
|
||||
#ifndef WSREP_APPLYING_SERVICE_HPP
|
||||
#define WSREP_APPLYING_SERVICE_HPP
|
||||
|
||||
#include "transaction_termination_service.hpp"
|
||||
|
||||
namespace wsrep
|
||||
{
|
||||
class ws_handle;
|
||||
class ws_meta;
|
||||
class applying_service : public wsrep::transaction_termination_service
|
||||
{
|
||||
public:
|
||||
virtual int start_transaction(const wsrep::ws_handle&,
|
||||
const wsrep::ws_meta&) = 0;
|
||||
virtual int apply_write_set(const wsrep::const_buffer&) = 0;
|
||||
virtual int apply_toi(const wsrep::const_buffer&);
|
||||
virtual int apply_nbo(const wsrep::const_buffer&);
|
||||
};
|
||||
}
|
||||
|
||||
#endif // WSREP_APPLYING_SERVICE_HPP
|
@ -33,7 +33,8 @@ namespace wsrep
|
||||
virtual ~server_service() { }
|
||||
virtual wsrep::storage_service* storage_service(
|
||||
wsrep::client_service&) = 0;
|
||||
|
||||
virtual wsrep::storage_service* storage_service(
|
||||
wsrep::high_priority_service&) = 0;
|
||||
virtual void release_storage_service(wsrep::storage_service*) = 0;
|
||||
|
||||
/**
|
||||
|
@ -23,7 +23,7 @@ namespace wsrep
|
||||
// Forward declarations
|
||||
class ws_handle;
|
||||
class ws_meta;
|
||||
|
||||
class transaction;
|
||||
|
||||
/**
|
||||
* Storage service abstract interface.
|
||||
@ -41,6 +41,7 @@ namespace wsrep
|
||||
*/
|
||||
virtual int start_transaction(const wsrep::ws_handle&) = 0;
|
||||
|
||||
virtual void adopt_transaction(const wsrep::transaction&) = 0;
|
||||
/**
|
||||
* Append fragment into stable storage.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user