Add destructors, make ringloop optional in cluster_client_t
parent
62343c8022
commit
8736b3ad32
|
@ -59,6 +59,8 @@ cluster_client_t::cluster_client_t(ring_loop_t *ringloop, timerfd_manager_t *tfd
|
||||||
st_cli.parse_config(config);
|
st_cli.parse_config(config);
|
||||||
st_cli.load_global_config();
|
st_cli.load_global_config();
|
||||||
|
|
||||||
|
if (ringloop)
|
||||||
|
{
|
||||||
consumer.loop = [this]()
|
consumer.loop = [this]()
|
||||||
{
|
{
|
||||||
msgr.read_requests();
|
msgr.read_requests();
|
||||||
|
@ -66,6 +68,15 @@ cluster_client_t::cluster_client_t(ring_loop_t *ringloop, timerfd_manager_t *tfd
|
||||||
this->ringloop->submit();
|
this->ringloop->submit();
|
||||||
};
|
};
|
||||||
ringloop->register_consumer(&consumer);
|
ringloop->register_consumer(&consumer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
cluster_client_t::~cluster_client_t()
|
||||||
|
{
|
||||||
|
if (ringloop)
|
||||||
|
{
|
||||||
|
ringloop->unregister_consumer(&consumer);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void cluster_client_t::continue_ops()
|
void cluster_client_t::continue_ops()
|
||||||
|
|
|
@ -78,6 +78,7 @@ class cluster_client_t
|
||||||
|
|
||||||
public:
|
public:
|
||||||
cluster_client_t(ring_loop_t *ringloop, timerfd_manager_t *tfd, json11::Json & config);
|
cluster_client_t(ring_loop_t *ringloop, timerfd_manager_t *tfd, json11::Json & config);
|
||||||
|
~cluster_client_t();
|
||||||
void execute(cluster_op_t *op);
|
void execute(cluster_op_t *op);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
|
@ -22,6 +22,14 @@ osd_op_t::~osd_op_t()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
osd_messenger_t::~osd_messenger_t()
|
||||||
|
{
|
||||||
|
while (clients.size() > 0)
|
||||||
|
{
|
||||||
|
stop_client(clients.begin()->first);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void osd_messenger_t::connect_peer(uint64_t peer_osd, json11::Json peer_state)
|
void osd_messenger_t::connect_peer(uint64_t peer_osd, json11::Json peer_state)
|
||||||
{
|
{
|
||||||
if (wanted_peers.find(peer_osd) == wanted_peers.end())
|
if (wanted_peers.find(peer_osd) == wanted_peers.end())
|
||||||
|
|
|
@ -257,6 +257,7 @@ public:
|
||||||
void read_requests();
|
void read_requests();
|
||||||
void send_replies();
|
void send_replies();
|
||||||
void accept_connections(int listen_fd);
|
void accept_connections(int listen_fd);
|
||||||
|
~osd_messenger_t();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void try_connect_peer(uint64_t osd_num);
|
void try_connect_peer(uint64_t osd_num);
|
||||||
|
|
Loading…
Reference in New Issue