Replace public/protected ifdef with a friend class

This commit is contained in:
Vitaliy Filippov
2026-05-18 01:17:56 +03:00
parent a675993c74
commit 648e3b12f0
3 changed files with 14 additions and 9 deletions
+1 -6
View File
@@ -83,9 +83,6 @@ class writeback_cache_t;
// FIXME: Split into public and private interfaces
class __attribute__((visibility("default"))) cluster_client_t
{
#ifdef __MOCK__
public:
#endif
timerfd_manager_t *tfd = NULL;
ring_loop_t *ringloop = NULL;
@@ -155,12 +152,9 @@ public:
void list_inode(inode_t inode, uint64_t min_offset, uint64_t max_offset, int max_parallel_pgs, std::function<void(
int status, int pgs_left, pg_num_t pg_num, std::set<object_id>&& objects)> pg_callback);
#ifndef __MOCK__
protected:
#endif
void continue_ops(int time_passed = 0);
protected:
bool affects_osd(uint64_t inode, uint64_t offset, uint64_t len, osd_num_t osd);
bool affects_pg(uint64_t inode, uint64_t offset, uint64_t len, pool_id_t pool_id, pg_num_t pg_num);
@@ -201,4 +195,5 @@ protected:
osd_num_t select_nearest_osd(const std::vector<osd_num_t> & osds);
friend class writeback_cache_t;
friend class cluster_client_test_t;
};
+1
View File
@@ -15,6 +15,7 @@ add_executable(bindiff
# stub_uring_osd
add_executable(stub_uring_osd
EXCLUDE_FROM_ALL
stub_uring_osd.cpp
)
target_link_libraries(stub_uring_osd
+12 -3
View File
@@ -6,6 +6,15 @@
#include <assert.h>
#include "cluster_client_impl.h"
class cluster_client_test_t
{
public:
static void continue_ops(cluster_client_t *cli)
{
cli->continue_ops(cli->client_retry_interval);
}
};
void configure_single_pg_pool(cluster_client_t *cli)
{
cli->st_cli.parse_state((etcd_kv_t){
@@ -260,7 +269,7 @@ void test1()
pretend_disconnected(cli, 1);
pretend_connected(cli, 1);
cli->continue_ops(cli->client_retry_interval);
cluster_client_test_t::continue_ops(cli);
// Check replay
{
@@ -323,7 +332,7 @@ void test1()
pretend_op_completed(cli, find_op(cli, 1, OSD_OP_WRITE, 0, 0x1000), -EPIPE);
check_disconnected(cli, 1);
pretend_connected(cli, 1);
cli->continue_ops(cli->client_retry_interval);
cluster_client_test_t::continue_ops(cli);
check_op_count(cli, 1, 1);
can_complete(r1);
pretend_op_completed(cli, find_op(cli, 1, OSD_OP_WRITE, 0, 0x1000), 0);
@@ -342,7 +351,7 @@ void test1()
check_completed(r1);
check_disconnected(cli, 1);
pretend_connected(cli, 1);
cli->continue_ops(cli->client_retry_interval);
cluster_client_test_t::continue_ops(cli);
check_op_count(cli, 1, 1);
pretend_op_completed(cli, find_op(cli, 1, OSD_OP_WRITE, 0, 0x1000), 0);
check_op_count(cli, 1, 1);