summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniil Cherednik <[email protected]>2025-10-23 18:24:06 +0200
committerGitHub <[email protected]>2025-10-23 18:24:06 +0200
commitf09a53558ceff76e2de34cf8b83efc254b282d09 (patch)
treeaa493f0ab85b3a7fad0dd052c9344c6995a9affe
parent0fa04232ae1f1c0fe39506184816ea8e780c66e4 (diff)
[ICRDMA] Move cq actor into separate library. EXT-1618 (#27501)
[ICRDMA] Move cq actor into separate library. Add dummy implementation for unsupported platforms. EXT-1618
-rw-r--r--ydb/library/actors/interconnect/rdma/cq_actor/cq_actor.cpp (renamed from ydb/library/actors/interconnect/rdma/cq_actor.cpp)6
-rw-r--r--ydb/library/actors/interconnect/rdma/cq_actor/cq_actor.h (renamed from ydb/library/actors/interconnect/rdma/cq_actor.h)0
-rw-r--r--ydb/library/actors/interconnect/rdma/cq_actor/cq_actor_dummy.cpp47
-rw-r--r--ydb/library/actors/interconnect/rdma/cq_actor/ya.make32
-rw-r--r--ydb/library/actors/interconnect/rdma/ut/utils.cpp1
-rw-r--r--ydb/library/actors/interconnect/rdma/ut/utils.h2
-rw-r--r--ydb/library/actors/interconnect/rdma/ut/ya.make1
-rw-r--r--ydb/library/actors/interconnect/rdma/ya.make5
8 files changed, 88 insertions, 6 deletions
diff --git a/ydb/library/actors/interconnect/rdma/cq_actor.cpp b/ydb/library/actors/interconnect/rdma/cq_actor/cq_actor.cpp
index 67b2ab5987f..7f593d209a6 100644
--- a/ydb/library/actors/interconnect/rdma/cq_actor.cpp
+++ b/ydb/library/actors/interconnect/rdma/cq_actor/cq_actor.cpp
@@ -1,13 +1,13 @@
#include "cq_actor.h"
-#include "events.h"
-#include "rdma.h"
-#include "ctx.h"
#include <ydb/library/actors/core/hfunc.h>
#include <ydb/library/actors/core/actor_bootstrapped.h>
#include <ydb/library/actors/interconnect/logging/logging.h>
#include <ydb/library/actors/interconnect/poller/poller_actor.h>
+#include <ydb/library/actors/interconnect/rdma/ctx.h>
+#include <ydb/library/actors/interconnect/rdma/events.h>
+#include <ydb/library/actors/interconnect/rdma/rdma.h>
using namespace NActors;
diff --git a/ydb/library/actors/interconnect/rdma/cq_actor.h b/ydb/library/actors/interconnect/rdma/cq_actor/cq_actor.h
index fee63e034c2..fee63e034c2 100644
--- a/ydb/library/actors/interconnect/rdma/cq_actor.h
+++ b/ydb/library/actors/interconnect/rdma/cq_actor/cq_actor.h
diff --git a/ydb/library/actors/interconnect/rdma/cq_actor/cq_actor_dummy.cpp b/ydb/library/actors/interconnect/rdma/cq_actor/cq_actor_dummy.cpp
new file mode 100644
index 00000000000..1eeb0ff0f1d
--- /dev/null
+++ b/ydb/library/actors/interconnect/rdma/cq_actor/cq_actor_dummy.cpp
@@ -0,0 +1,47 @@
+#include "cq_actor.h"
+
+#include <ydb/library/actors/core/hfunc.h>
+#include <ydb/library/actors/core/actor_bootstrapped.h>
+
+#include <ydb/library/actors/interconnect/logging/logging.h>
+#include <ydb/library/actors/interconnect/rdma/events.h>
+
+using namespace NActors;
+
+namespace NInterconnect::NRdma {
+
+class TCqActorDummy: public TInterconnectLoggingBase, public TActorBootstrapped<TCqActorDummy> {
+
+public:
+ TCqActorDummy()
+ : TInterconnectLoggingBase("CqActor")
+ {}
+
+ static constexpr IActor::EActivityType ActorActivityType() {
+ return IActor::EActivityType::INTERCONNECT_RDMA_CQ;
+ }
+
+ void Bootstrap() {
+ Become(&TCqActorDummy::StateFunc);
+ }
+
+ STRICT_STFUNC(StateFunc,
+ hFunc(TEvGetCqHandle, Handle);
+ )
+
+ void Handle(TEvGetCqHandle::TPtr& ev) {
+ ev->Get()->CqPtr = nullptr;
+ TlsActivationContext->Send(ev->Sender, std::unique_ptr<TEvGetCqHandle>(ev->Release().Release()));
+ }
+};
+
+NActors::IActor* CreateCqActor(int /*maxCqe*/, int /*maxWr*/, NMonitoring::TDynamicCounters* /*counters*/) {
+ return new TCqActorDummy();
+}
+
+NActors::TActorId MakeCqActorId() {
+ char x[12] = {'I', 'C', 'R', 'D', 'M', 'A', 'C', 'Q', '\xDE', '\xAD', '\xBE', '\xEF'};
+ return TActorId(0, TStringBuf(std::begin(x), std::end(x)));
+}
+
+}
diff --git a/ydb/library/actors/interconnect/rdma/cq_actor/ya.make b/ydb/library/actors/interconnect/rdma/cq_actor/ya.make
new file mode 100644
index 00000000000..c5e7c0cf655
--- /dev/null
+++ b/ydb/library/actors/interconnect/rdma/cq_actor/ya.make
@@ -0,0 +1,32 @@
+LIBRARY()
+
+IF (OS_LINUX)
+
+ SRCS(
+ cq_actor.cpp
+ )
+
+ PEERDIR(
+ contrib/libs/ibdrv
+ contrib/libs/protobuf
+ ydb/library/actors/core
+ ydb/library/actors/protos
+ ydb/library/actors/util
+ )
+
+ELSE()
+
+ SRCS(
+ cq_actor_dummy.cpp
+ )
+
+ PEERDIR(
+ contrib/libs/protobuf
+ ydb/library/actors/core
+ ydb/library/actors/protos
+ ydb/library/actors/util
+ )
+
+ENDIF()
+
+END()
diff --git a/ydb/library/actors/interconnect/rdma/ut/utils.cpp b/ydb/library/actors/interconnect/rdma/ut/utils.cpp
index 747ad9c75b1..26bbb27f21a 100644
--- a/ydb/library/actors/interconnect/rdma/ut/utils.cpp
+++ b/ydb/library/actors/interconnect/rdma/ut/utils.cpp
@@ -1,6 +1,5 @@
#include "utils.h"
-#include <ydb/library/actors/interconnect/rdma/cq_actor.h>
#include <ydb/library/actors/interconnect/rdma/ctx.h>
#include <ydb/library/actors/interconnect/rdma/events.h>
#include <ydb/library/actors/interconnect/rdma/link_manager.h>
diff --git a/ydb/library/actors/interconnect/rdma/ut/utils.h b/ydb/library/actors/interconnect/rdma/ut/utils.h
index 5cd659c7422..f14e1694f30 100644
--- a/ydb/library/actors/interconnect/rdma/ut/utils.h
+++ b/ydb/library/actors/interconnect/rdma/ut/utils.h
@@ -2,7 +2,7 @@
#include <library/cpp/testing/gtest/gtest.h>
-#include <ydb/library/actors/interconnect/rdma/cq_actor.h>
+#include <ydb/library/actors/interconnect/rdma/cq_actor/cq_actor.h>
#include <ydb/library/actors/interconnect/rdma/mem_pool.h>
#include <ydb/library/actors/interconnect/rdma/rdma.h>
diff --git a/ydb/library/actors/interconnect/rdma/ut/ya.make b/ydb/library/actors/interconnect/rdma/ut/ya.make
index ab3ad54bfba..a480c510f86 100644
--- a/ydb/library/actors/interconnect/rdma/ut/ya.make
+++ b/ydb/library/actors/interconnect/rdma/ut/ya.make
@@ -21,6 +21,7 @@ PEERDIR(
ydb/library/actors/core
ydb/library/actors/interconnect
ydb/library/actors/interconnect/rdma
+ ydb/library/actors/interconnect/rdma/cq_actor
ydb/library/actors/testlib
)
diff --git a/ydb/library/actors/interconnect/rdma/ya.make b/ydb/library/actors/interconnect/rdma/ya.make
index 4115feb901e..9090c599ab2 100644
--- a/ydb/library/actors/interconnect/rdma/ya.make
+++ b/ydb/library/actors/interconnect/rdma/ya.make
@@ -1,7 +1,6 @@
LIBRARY()
SRCS(
- cq_actor.cpp
ctx.cpp
ctx_open.cpp
link_manager.cpp
@@ -19,6 +18,10 @@ PEERDIR(
END()
+RECURSE(
+ cq_actor
+)
+
RECURSE_FOR_TESTS(
ut
)