load("//bazel:build_defs.bzl", "ds_cc_library")

package(default_visibility = ["//visibility:public"])

# success
ds_cc_library(
    name = "worker_oc_service_multi_publish_impl_header",
    hdrs = [
        "worker_oc_service_multi_publish_impl.h",
    ],
    deps = [
        "//src/datasystem/worker:worker_topology_references",
        "//include/datasystem/object:object_headers",
        "//include/datasystem/utils:utils_headers",
        "//src/datasystem/common/ak_sk:ak_sk_manager",
        "//src/datasystem/common/rpc:rpc_message",
        "//src/datasystem/protos:master_object_cc_proto",
        "//src/datasystem/protos:object_posix_cc_proto",
        "//src/datasystem/worker/object_cache:async_send_manager",
        "//src/datasystem/worker/object_cache:worker_master_oc_api",
        "//src/datasystem/worker/object_cache/service:worker_oc_service_crud_common_api_header",
    ],
)

ds_cc_library(
    name = "worker_oc_service_multi_publish_impl",
    srcs = [
        "worker_oc_service_multi_publish_impl.cpp",
    ],
    hdrs = [
        "worker_oc_service_multi_publish_impl.h",
    ],
    deps = [
        "//src/datasystem/worker:worker_topology_references",
        ":worker_oc_service_multi_publish_impl_header",
        "//include/datasystem/utils:utils_headers",
        "//src/datasystem/common/iam:common_iam",
        "//src/datasystem/common/inject:common_inject",
        "//src/datasystem/common/log:common_log",
        "//src/datasystem/common/parallel:common_parallel",
        "//src/datasystem/common/perf:common_perf",
        "//src/datasystem/common/string_intern:string_ref",
        "//src/datasystem/common/util:deadlock_util",
        "//src/datasystem/common/util:format",
        "//src/datasystem/common/util:raii",
        "//src/datasystem/common/util:status_helper",
        "//src/datasystem/common/util:strings_util",
        "//src/datasystem/common/util:thread_local",
        "//src/datasystem/worker:authenticate",
    ],
    alwayslink = True,
)

ds_cc_library(
    name = "worker_oc_service_get_impl_header",
    hdrs = [
        "worker_oc_service_get_impl.h",
    ],
    deps = [
        "//src/datasystem/worker:worker_topology_references",
        "//include/datasystem/utils:utils_headers",
        "//src/datasystem/common/ak_sk:ak_sk_manager",
        "//src/datasystem/common/object_cache:object_base",
        "//src/datasystem/common/rpc:rpc_message",
        "//src/datasystem/protos:object_posix_cc_proto",
        "//src/datasystem/protos:object_posix_zmq_cc_proto",
        "//src/datasystem/cluster:cluster_topology",
        "//src/datasystem/worker/object_cache:async_update_location_manager",
        "//src/datasystem/worker/object_cache:cache_hit_info",
        "//src/datasystem/worker/object_cache:object_kv",
        "//src/datasystem/worker/object_cache:worker_request_manager",
        "//src/datasystem/worker/object_cache:worker_worker_transport_api_header",
        "//src/datasystem/worker/object_cache/service:worker_oc_service_crud_common_api_header",
    ],
)

ds_cc_library(
    name = "worker_oc_service_get_impl",
    srcs = [
        "worker_oc_service_batch_get_impl.cpp",
        "worker_oc_service_get_impl.cpp",
    ],
    hdrs = [
        "worker_oc_service_get_impl.h",
    ],
    deps = [
        "//src/datasystem/worker:worker_topology_references",
        ":worker_oc_service_get_impl_header",
        "//include/datasystem/object:object_headers",
        "//include/datasystem/utils:utils_headers",
        "//src/datasystem/common/device:device_helper",
        "//src/datasystem/common/flags:ds_flags",
        "//src/datasystem/common/iam:common_iam",
        "//src/datasystem/common/inject:common_inject",
        "//src/datasystem/common/l2cache:l2_storage",
        "//src/datasystem/common/log:common_log",
        "//src/datasystem/common/metrics:common_metrics",
        "//src/datasystem/common/parallel:common_parallel",
        "//src/datasystem/common/perf:common_perf",
        "//src/datasystem/common/rdma:fast_transport_manager_wrapper",
        "//src/datasystem/common/rdma:rdma_util",
        "//src/datasystem/common/rdma/npu:remote_h2d_manager_header",
        "//src/datasystem/common/string_intern:string_ref",
        "//src/datasystem/common/util:format",
        "//src/datasystem/common/util:meta_route_tool",
        "//src/datasystem/common/util:raii",
        "//src/datasystem/common/util:rpc_diagnostic",
        "//src/datasystem/common/util:rpc_util",
        "//src/datasystem/common/util:status_helper",
        "//src/datasystem/common/util:strings_util",
        "//src/datasystem/common/util:thread_local",
        "//src/datasystem/common/util:uuid_generator",
        "//src/datasystem/common/util:validator",
        "//src/datasystem/common/flags:dynamic_flag_config",
        "//src/datasystem/protos:master_object_cc_proto",
        "//src/datasystem/protos:meta_transport_cc_proto",
        "//src/datasystem/protos:object_posix_cc_proto",
        "//src/datasystem/protos:utils_cc_proto",
        "//src/datasystem/worker:authenticate",
        "//src/datasystem/worker/object_cache:async_update_location_manager",
        "//src/datasystem/worker/object_cache:object_cache_worker_flags",
        "//src/datasystem/worker/object_cache:object_kv",
        "//src/datasystem/worker/object_cache:worker_request_manager",
        "//src/datasystem/worker/object_cache:worker_worker_oc_api",
        "//src/datasystem/worker/object_cache:worker_worker_oc_gather_layout",
        "//src/datasystem/common/os_transport_pipeline:os_transport_pipeline_api",
    ],
    alwayslink = True,
)

# success
ds_cc_library(
    name = "worker_oc_service_global_reference_impl",
    srcs = [
        "worker_oc_service_global_reference_impl.cpp",
    ],
    hdrs = [
        "worker_oc_service_global_reference_impl.h",
    ],
    deps = [
        "//src/datasystem/worker:worker_topology_references",
        "//include/datasystem/utils:utils_headers",
        "//src/datasystem/common/iam:common_iam",
        "//src/datasystem/common/log:common_log",
        "//src/datasystem/common/util:deadlock_util",
        "//src/datasystem/common/util:format",
        "//src/datasystem/common/util:net_util",
        "//src/datasystem/common/util:status_helper",
        "//src/datasystem/common/util:strings_util",
        "//src/datasystem/protos:object_posix_cc_proto",
        "//src/datasystem/worker:authenticate",
        "//src/datasystem/worker/object_cache/service:worker_oc_service_crud_common_api_header",
    ],
)

# success
ds_cc_library(
    name = "worker_oc_service_create_impl",
    srcs = [
        "worker_oc_service_create_impl.cpp",
    ],
    hdrs = [
        "worker_oc_service_create_impl.h",
    ],
    deps = [
        "//src/datasystem/worker:worker_topology_references",
        "//include/datasystem/object:object_headers",
        "//include/datasystem/utils:utils_headers",
        "//src/datasystem/common/iam:common_iam",
        "//src/datasystem/common/flags:ds_flags",
        "//src/datasystem/common/inject:common_inject",
        "//src/datasystem/common/log:common_log",
        "//src/datasystem/common/parallel:common_parallel",
        "//src/datasystem/common/perf:common_perf",
        "//src/datasystem/common/string_intern:string_ref",
        "//src/datasystem/common/util:format",
        "//src/datasystem/common/util:status_helper",
        "//src/datasystem/common/util:uuid_generator",
        "//src/datasystem/worker:authenticate",
        "//src/datasystem/worker/object_cache/service:worker_oc_service_crud_common_api_header",
    ],
)

# success
ds_cc_library(
    name = "worker_oc_service_publish_impl_header",
    hdrs = [
        "worker_oc_service_publish_impl.h",
    ],
    deps = [
        "//src/datasystem/worker:worker_topology_references",
        "//include/datasystem/utils:utils_headers",
        "//src/datasystem/common/ak_sk:ak_sk_manager",
        "//src/datasystem/common/object_cache:object_base",
        "//src/datasystem/common/rpc:rpc_message",
        "//src/datasystem/protos:object_posix_cc_proto",
        "//src/datasystem/worker/object_cache:async_send_manager",
        "//src/datasystem/worker/object_cache/service:worker_oc_service_crud_common_api_header",
    ],
)

ds_cc_library(
    name = "worker_oc_service_publish_impl",
    srcs = [
        "worker_oc_service_publish_impl.cpp",
    ],
    hdrs = [
        "worker_oc_service_publish_impl.h",
    ],
    deps = [
        "//src/datasystem/worker:worker_topology_references",
        ":worker_oc_service_publish_impl_header",
        "//include/datasystem/utils:utils_headers",
        "//src/datasystem/common/iam:common_iam",
        "//src/datasystem/common/flags:ds_flags",
        "//src/datasystem/common/inject:common_inject",
        "//src/datasystem/common/l2cache:l2_storage",
        "//src/datasystem/common/log:common_log",
        "//src/datasystem/common/perf:common_perf",
        "//src/datasystem/common/rdma:fast_transport_manager_wrapper",
        "//src/datasystem/common/rdma:rdma_util",
        "//src/datasystem/common/string_intern:string_ref",
        "//src/datasystem/common/util:deadlock_util",
        "//src/datasystem/common/util:format",
        "//src/datasystem/common/util:raii",
        "//src/datasystem/common/util:rpc_util",
        "//src/datasystem/common/util:status_helper",
        "//src/datasystem/common/util:thread_local",
        "//src/datasystem/protos:master_object_cc_proto",
        "//src/datasystem/worker:authenticate",
        "//src/datasystem/worker/object_cache:object_kv",
        "//src/datasystem/worker/object_cache:worker_master_oc_api",
    ],
    alwayslink = True,
)

# success
ds_cc_library(
    name = "worker_oc_service_expire_impl",
    srcs = [
        "worker_oc_service_expire_impl.cpp",
    ],
    hdrs = [
        "worker_oc_service_expire_impl.h",
    ],
    deps = [
        "//src/datasystem/worker:worker_topology_references",
        "//include/datasystem/utils:utils_headers",
        "//src/datasystem/common/ak_sk:ak_sk_manager",
        "//src/datasystem/common/iam:common_iam",
        "//src/datasystem/common/inject:common_inject",
        "//src/datasystem/common/log:common_log",
        "//src/datasystem/common/perf:common_perf",
        "//src/datasystem/common/rpc:rpc_message",
        "//src/datasystem/common/util:format",
        "//src/datasystem/common/util:rpc_util",
        "//src/datasystem/common/util:status_helper",
        "//src/datasystem/common/util:strings_util",
        "//src/datasystem/common/util:thread_local",
        "//src/datasystem/protos:master_object_cc_proto",
        "//src/datasystem/protos:object_posix_cc_proto",
        "//src/datasystem/protos:object_posix_zmq_cc_proto",
        "//src/datasystem/worker:authenticate",
        "//src/datasystem/cluster:cluster_topology",
        "//src/datasystem/worker/object_cache/service:worker_oc_service_crud_common_api_header",
    ],
)

# success
ds_cc_library(
    name = "worker_oc_service_delete_impl_header",
    hdrs = [
        "worker_oc_service_delete_impl.h",
    ],
    deps = [
        "//src/datasystem/worker:worker_topology_references",
        "//include/datasystem/utils:utils_headers",
        "//src/datasystem/worker/object_cache/service:worker_oc_service_crud_common_api_header",
        "//src/datasystem/worker/object_cache/service:worker_oc_service_get_impl_header",
    ],
)

ds_cc_library(
    name = "worker_oc_service_delete_impl",
    srcs = [
        "worker_oc_service_delete_impl.cpp",
    ],
    hdrs = [
        "worker_oc_service_delete_impl.h",
    ],
    deps = [
        "//src/datasystem/worker:worker_topology_references",
        ":worker_oc_service_delete_impl_header",
        "//src/datasystem/common/iam:common_iam",
        "//src/datasystem/common/log:common_log",
        "//src/datasystem/common/util:container_util",
        "//src/datasystem/common/util:deadlock_util",
        "//src/datasystem/common/util:format",
        "//src/datasystem/common/util:status_helper",
        "//src/datasystem/protos:master_object_cc_proto",
        "//src/datasystem/worker:authenticate",
        "//src/datasystem/worker/object_cache:worker_master_oc_api",
    ],
    alwayslink = True,
)

ds_cc_library(
    name = "worker_oc_service_clear_data_flow",
    srcs = [
        "worker_oc_service_clear_data_flow.cpp",
    ],
    hdrs = [
        "worker_oc_service_clear_data_flow.h",
    ],
    deps = [
        "//src/datasystem/worker:worker_topology_references",
        "//include/datasystem/utils:utils_headers",
        "//src/datasystem/cluster:cluster_topology_scope",
        "//src/datasystem/common/eventloop:common_event_loop",
        "//src/datasystem/common/flags:ds_flags",
        "//src/datasystem/common/log:common_log",
        "//src/datasystem/common/object_cache:object_ref_info",
        "//src/datasystem/common/object_cache:safe_object",
        "//src/datasystem/common/util:format",
        "//src/datasystem/common/util:raii",
        "//src/datasystem/common/util:status_helper",
        "//src/datasystem/common/util:thread",
        "//src/datasystem/protos:master_object_cc_proto",
        "//src/datasystem/protos:worker_object_cc_proto",
        "//src/datasystem/cluster:cluster_topology",
        "//src/datasystem/worker:cluster_event_type",
        "//src/datasystem/worker:worker_master_api_manager_base",
        "//src/datasystem/worker/object_cache:metadata_recovery_manager",
        "//src/datasystem/worker/object_cache:metadata_recovery_selector",
        "//src/datasystem/worker/object_cache:object_kv",
        "//src/datasystem/worker/object_cache:worker_master_oc_api",
        "//src/datasystem/worker/object_cache/service:worker_oc_service_crud_common_api",
        "//src/datasystem/worker/object_cache/service:worker_oc_service_delete_impl_header",
        "//src/datasystem/worker/object_cache/service:worker_oc_service_global_reference_impl",
    ],
    alwayslink = True,
)

# success
ds_cc_library(
    name = "worker_oc_service_migrate_impl",
    srcs = [
        "worker_oc_service_migrate_impl.cpp",
    ],
    hdrs = [
        "worker_oc_service_migrate_impl.h",
    ],
    deps = [
        "//src/datasystem/worker:worker_topology_references",
        "//include/datasystem/object:object_headers",
        "//include/datasystem/utils:utils_headers",
        "//src/datasystem/common/ak_sk:ak_sk_manager",
        "//src/datasystem/common/iam:common_iam",
        "//src/datasystem/common/inject:common_inject",
        "//src/datasystem/common/log:common_log",
        "//src/datasystem/common/object_cache:object_base",
        "//src/datasystem/common/rdma:fast_transport_manager_wrapper",
        "//src/datasystem/common/rpc:rpc_message",
        "//src/datasystem/common/string_intern:string_ref",
        "//src/datasystem/common/util:format",
        "//src/datasystem/common/util:net_util",
        "//src/datasystem/common/util:rpc_util",
        "//src/datasystem/common/util:status_helper",
        "//src/datasystem/common/util:strings_util",
        "//src/datasystem/common/util:timer",
        "//src/datasystem/protos:master_object_cc_proto",
        "//src/datasystem/protos:master_object_zmq_cc_proto",
        "//src/datasystem/protos:object_posix_cc_proto",
        "//src/datasystem/protos:worker_object_cc_proto",
        "//src/datasystem/worker/object_cache:async_send_manager",
        "//src/datasystem/worker/object_cache:object_kv",
        "//src/datasystem/worker/object_cache:worker_master_oc_api_header",
        "//src/datasystem/worker/object_cache/limiter:data_limiter",
        "//src/datasystem/worker/object_cache/service:worker_oc_service_crud_common_api_header",
        "@com_google_protobuf//:protobuf",
    ],
)

# success
ds_cc_library(
    name = "worker_oc_service_crud_common_api_header",
    hdrs = [
        "worker_oc_service_crud_common_api.h",
    ],
    deps = [
        "//src/datasystem/worker:worker_topology_references",
        "//include/datasystem/utils:utils_headers",
        "//src/datasystem/common/l2cache:l2_storage",
        "//src/datasystem/common/l2cache:persistence_api_header",
        "//src/datasystem/common/string_intern:string_ref",
        "//src/datasystem/common/util:thread_pool",
        "//src/datasystem/cluster:cluster_topology",
        "//src/datasystem/worker/object_cache:async_send_manager",
        "//src/datasystem/worker/object_cache:object_meta_route_helper",
        "//src/datasystem/worker/object_cache:object_kv",
        "//src/datasystem/worker/object_cache:worker_master_oc_api_header",
        "//src/datasystem/worker/object_cache:worker_request_manager_header",
        "//src/datasystem/worker/object_cache/device:worker_device_oc_manager_header",
    ],
)

ds_cc_library(
    name = "worker_oc_service_crud_common_api",
    srcs = [
        "worker_oc_service_crud_common_api.cpp",
    ],
    hdrs = [
        "worker_oc_service_crud_common_api.h",
    ],
    deps = [
        "//src/datasystem/worker:worker_topology_references",
        ":worker_oc_service_crud_common_api_header",
        "//include/datasystem/utils:utils_headers",
        "//src/datasystem/common/flags:ds_flags",
        "//src/datasystem/common/log:common_log",
        "//src/datasystem/common/metrics:common_metrics",
        "//src/datasystem/common/rpc:bthread_utils",
        "//src/datasystem/common/string_intern:string_ref",
        "//src/datasystem/common/util:status_helper",
        "//src/datasystem/common/util:thread_local",
        "//src/datasystem/protos:master_object_cc_proto",
        "//src/datasystem/worker/client_manager",
        "//src/datasystem/worker/object_cache:object_meta_route_helper",
        "//src/datasystem/worker/object_cache:object_kv",
    ],
    alwayslink = True,
)