mirror of
https://github.com/codership/wsrep-lib.git
synced 2025-07-30 07:23:07 +03:00
Made client_service, transaction independent of provider.
Provider may not be loaded when client_service and transaction are constructed.
This commit is contained in:
@ -16,7 +16,7 @@ db::client::client(db::server& server,
|
||||
, server_(server)
|
||||
, server_state_(server.server_state())
|
||||
, client_state_(mutex_, this, server_state_, client_service_, client_id, mode)
|
||||
, client_service_(server_state_.provider(), client_state_)
|
||||
, client_service_(client_state_)
|
||||
, se_trx_(server.storage_engine())
|
||||
, stats_()
|
||||
{ }
|
||||
|
@ -38,8 +38,9 @@ enum wsrep::provider::status
|
||||
db::client_service::replay()
|
||||
{
|
||||
wsrep::high_priority_context high_priority_context(client_state_);
|
||||
auto ret(provider_.replay(client_state_.transaction().ws_handle(),
|
||||
&client_state_));
|
||||
auto ret(client_state_.provider().replay(
|
||||
client_state_.transaction().ws_handle(),
|
||||
&client_state_));
|
||||
if (ret == wsrep::provider::success)
|
||||
{
|
||||
++client_state_.client()->stats_.replays;
|
||||
|
@ -15,9 +15,8 @@ namespace db
|
||||
class client_service : public wsrep::client_service
|
||||
{
|
||||
public:
|
||||
client_service(wsrep::provider& provider,
|
||||
db::client_state& client_state)
|
||||
: wsrep::client_service(provider)
|
||||
client_service(db::client_state& client_state)
|
||||
: wsrep::client_service()
|
||||
, client_state_(client_state)
|
||||
{ }
|
||||
|
||||
|
Reference in New Issue
Block a user