aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrobot-piglet <robot-piglet@yandex-team.com>2025-02-12 13:05:10 +0300
committerrobot-piglet <robot-piglet@yandex-team.com>2025-02-12 13:17:41 +0300
commit4212b0c0eb8a415a764c8400bd71ab71b5484ea6 (patch)
tree1c79098f1d0f0cb51b308b089db935d073af493f
parentd0922b31eabc5eb358c7821903414d8b56c01132 (diff)
downloadydb-4212b0c0eb8a415a764c8400bd71ab71b5484ea6.tar.gz
Intermediate changes
commit_hash:968efa1587ed15d27ed5b3b0c8f68f01abcbba67
-rw-r--r--contrib/restricted/boost/algorithm/ya.make2
-rw-r--r--contrib/restricted/boost/align/ya.make2
-rw-r--r--contrib/restricted/boost/any/ya.make2
-rw-r--r--contrib/restricted/boost/array/ya.make2
-rw-r--r--contrib/restricted/boost/asio/ya.make2
-rw-r--r--contrib/restricted/boost/assert/ya.make2
-rw-r--r--contrib/restricted/boost/atomic/ya.make2
-rw-r--r--contrib/restricted/boost/bimap/ya.make2
-rw-r--r--contrib/restricted/boost/bind/ya.make2
-rw-r--r--contrib/restricted/boost/chrono/ya.make2
-rw-r--r--contrib/restricted/boost/concept_check/ya.make2
-rw-r--r--contrib/restricted/boost/config/ya.make2
-rw-r--r--contrib/restricted/boost/container/ya.make2
-rw-r--r--contrib/restricted/boost/container_hash/ya.make2
-rw-r--r--contrib/restricted/boost/context/ya.make2
-rw-r--r--contrib/restricted/boost/conversion/ya.make2
-rw-r--r--contrib/restricted/boost/core/ya.make2
-rw-r--r--contrib/restricted/boost/coroutine/ya.make2
-rw-r--r--contrib/restricted/boost/crc/ya.make2
-rw-r--r--contrib/restricted/boost/date_time/ya.make2
-rw-r--r--contrib/restricted/boost/describe/ya.make2
-rw-r--r--contrib/restricted/boost/detail/ya.make2
-rw-r--r--contrib/restricted/boost/dynamic_bitset/ya.make2
-rw-r--r--contrib/restricted/boost/endian/ya.make2
-rw-r--r--contrib/restricted/boost/exception/ya.make2
-rw-r--r--contrib/restricted/boost/filesystem/ya.make2
-rw-r--r--contrib/restricted/boost/foreach/ya.make2
-rw-r--r--contrib/restricted/boost/format/ya.make2
-rw-r--r--contrib/restricted/boost/function/ya.make2
-rw-r--r--contrib/restricted/boost/function_types/ya.make2
-rw-r--r--contrib/restricted/boost/functional/ya.make2
-rw-r--r--contrib/restricted/boost/fusion/ya.make2
-rw-r--r--contrib/restricted/boost/graph/ya.make2
-rw-r--r--contrib/restricted/boost/icl/ya.make2
-rw-r--r--contrib/restricted/boost/integer/ya.make2
-rw-r--r--contrib/restricted/boost/interprocess/ya.make2
-rw-r--r--contrib/restricted/boost/intrusive/ya.make2
-rw-r--r--contrib/restricted/boost/io/ya.make2
-rw-r--r--contrib/restricted/boost/iostreams/ya.make2
-rw-r--r--contrib/restricted/boost/iterator/ya.make2
-rw-r--r--contrib/restricted/boost/lambda/ya.make2
-rw-r--r--contrib/restricted/boost/lexical_cast/ya.make2
-rw-r--r--contrib/restricted/boost/locale/ya.make2
-rw-r--r--contrib/restricted/boost/math/ya.make2
-rw-r--r--contrib/restricted/boost/move/ya.make2
-rw-r--r--contrib/restricted/boost/mp11/ya.make2
-rw-r--r--contrib/restricted/boost/mpl/ya.make2
-rw-r--r--contrib/restricted/boost/multi_array/ya.make2
-rw-r--r--contrib/restricted/boost/multi_index/ya.make2
-rw-r--r--contrib/restricted/boost/numeric_conversion/ya.make2
-rw-r--r--contrib/restricted/boost/optional/ya.make2
-rw-r--r--contrib/restricted/boost/parameter/ya.make2
-rw-r--r--contrib/restricted/boost/phoenix/ya.make2
-rw-r--r--contrib/restricted/boost/pool/ya.make2
-rw-r--r--contrib/restricted/boost/predef/ya.make2
-rw-r--r--contrib/restricted/boost/preprocessor/ya.make2
-rw-r--r--contrib/restricted/boost/program_options/ya.make2
-rw-r--r--contrib/restricted/boost/property_map/ya.make2
-rw-r--r--contrib/restricted/boost/property_tree/ya.make2
-rw-r--r--contrib/restricted/boost/proto/ya.make2
-rw-r--r--contrib/restricted/boost/random/ya.make2
-rw-r--r--contrib/restricted/boost/range/ya.make2
-rw-r--r--contrib/restricted/boost/ratio/ya.make2
-rw-r--r--contrib/restricted/boost/rational/ya.make2
-rw-r--r--contrib/restricted/boost/regex/ya.make2
-rw-r--r--contrib/restricted/boost/scope/ya.make2
-rw-r--r--contrib/restricted/boost/scope_exit/ya.make2
-rw-r--r--contrib/restricted/boost/serialization/ya.make2
-rw-r--r--contrib/restricted/boost/smart_ptr/ya.make2
-rw-r--r--contrib/restricted/boost/spirit/ya.make2
-rw-r--r--contrib/restricted/boost/static_assert/ya.make2
-rw-r--r--contrib/restricted/boost/system/ya.make2
-rw-r--r--contrib/restricted/boost/thread/ya.make2
-rw-r--r--contrib/restricted/boost/throw_exception/ya.make2
-rw-r--r--contrib/restricted/boost/tokenizer/ya.make2
-rw-r--r--contrib/restricted/boost/tti/ya.make2
-rw-r--r--contrib/restricted/boost/tuple/ya.make2
-rw-r--r--contrib/restricted/boost/type_index/ya.make2
-rw-r--r--contrib/restricted/boost/type_traits/ya.make2
-rw-r--r--contrib/restricted/boost/typeof/ya.make2
-rw-r--r--contrib/restricted/boost/utility/ya.make2
-rw-r--r--contrib/restricted/boost/variant/ya.make2
-rw-r--r--contrib/restricted/boost/variant2/ya.make2
-rw-r--r--contrib/restricted/boost/winapi/ya.make2
-rw-r--r--contrib/restricted/boost/xpressive/ya.make2
-rw-r--r--yt/yt/core/concurrency/arcadia_interop-inl.h68
-rw-r--r--yt/yt/core/concurrency/arcadia_interop.h23
-rw-r--r--yt/yt/core/concurrency/unittests/arcadia_interop_ut.cpp137
-rw-r--r--yt/yt/core/concurrency/unittests/ya.make2
89 files changed, 315 insertions, 85 deletions
diff --git a/contrib/restricted/boost/algorithm/ya.make b/contrib/restricted/boost/algorithm/ya.make
index d938d03b88..0ed2855a8e 100644
--- a/contrib/restricted/boost/algorithm/ya.make
+++ b/contrib/restricted/boost/algorithm/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/align/ya.make b/contrib/restricted/boost/align/ya.make
index 9c31c8be12..da48278a2a 100644
--- a/contrib/restricted/boost/align/ya.make
+++ b/contrib/restricted/boost/align/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/any/ya.make b/contrib/restricted/boost/any/ya.make
index af2ca98549..82f0107ef4 100644
--- a/contrib/restricted/boost/any/ya.make
+++ b/contrib/restricted/boost/any/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/array/ya.make b/contrib/restricted/boost/array/ya.make
index 88d2e9a1f6..36c56a138b 100644
--- a/contrib/restricted/boost/array/ya.make
+++ b/contrib/restricted/boost/array/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/asio/ya.make b/contrib/restricted/boost/asio/ya.make
index f5f8e8c766..8999bcbf41 100644
--- a/contrib/restricted/boost/asio/ya.make
+++ b/contrib/restricted/boost/asio/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/assert/ya.make b/contrib/restricted/boost/assert/ya.make
index 00e873ef77..2ce68b77e5 100644
--- a/contrib/restricted/boost/assert/ya.make
+++ b/contrib/restricted/boost/assert/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/atomic/ya.make b/contrib/restricted/boost/atomic/ya.make
index 9cf20d6826..116e53a811 100644
--- a/contrib/restricted/boost/atomic/ya.make
+++ b/contrib/restricted/boost/atomic/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/bimap/ya.make b/contrib/restricted/boost/bimap/ya.make
index 267377cb61..f20f745904 100644
--- a/contrib/restricted/boost/bimap/ya.make
+++ b/contrib/restricted/boost/bimap/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/bind/ya.make b/contrib/restricted/boost/bind/ya.make
index e5f8ce459e..c5a2900630 100644
--- a/contrib/restricted/boost/bind/ya.make
+++ b/contrib/restricted/boost/bind/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/chrono/ya.make b/contrib/restricted/boost/chrono/ya.make
index a7ac5ae30e..b2067cd12a 100644
--- a/contrib/restricted/boost/chrono/ya.make
+++ b/contrib/restricted/boost/chrono/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/concept_check/ya.make b/contrib/restricted/boost/concept_check/ya.make
index 0d6bfef4a2..94e8ad8b18 100644
--- a/contrib/restricted/boost/concept_check/ya.make
+++ b/contrib/restricted/boost/concept_check/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/config/ya.make b/contrib/restricted/boost/config/ya.make
index 775599d7d0..e120bacd8d 100644
--- a/contrib/restricted/boost/config/ya.make
+++ b/contrib/restricted/boost/config/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/container/ya.make b/contrib/restricted/boost/container/ya.make
index ea45272059..e03654a405 100644
--- a/contrib/restricted/boost/container/ya.make
+++ b/contrib/restricted/boost/container/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/container_hash/ya.make b/contrib/restricted/boost/container_hash/ya.make
index 999e5fa26f..e36c0a5f8a 100644
--- a/contrib/restricted/boost/container_hash/ya.make
+++ b/contrib/restricted/boost/container_hash/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/context/ya.make b/contrib/restricted/boost/context/ya.make
index f70cdc034c..8a147731c3 100644
--- a/contrib/restricted/boost/context/ya.make
+++ b/contrib/restricted/boost/context/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/conversion/ya.make b/contrib/restricted/boost/conversion/ya.make
index 4a0ecde166..ad542c166a 100644
--- a/contrib/restricted/boost/conversion/ya.make
+++ b/contrib/restricted/boost/conversion/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/core/ya.make b/contrib/restricted/boost/core/ya.make
index 14f29f742f..9c25aca222 100644
--- a/contrib/restricted/boost/core/ya.make
+++ b/contrib/restricted/boost/core/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/coroutine/ya.make b/contrib/restricted/boost/coroutine/ya.make
index ffe47ab248..9df407fcfb 100644
--- a/contrib/restricted/boost/coroutine/ya.make
+++ b/contrib/restricted/boost/coroutine/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/crc/ya.make b/contrib/restricted/boost/crc/ya.make
index 7c5e2a4d70..9feb7e69bf 100644
--- a/contrib/restricted/boost/crc/ya.make
+++ b/contrib/restricted/boost/crc/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/date_time/ya.make b/contrib/restricted/boost/date_time/ya.make
index 39c6b85077..37d7c50248 100644
--- a/contrib/restricted/boost/date_time/ya.make
+++ b/contrib/restricted/boost/date_time/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/describe/ya.make b/contrib/restricted/boost/describe/ya.make
index ae00966485..4fe135f389 100644
--- a/contrib/restricted/boost/describe/ya.make
+++ b/contrib/restricted/boost/describe/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/detail/ya.make b/contrib/restricted/boost/detail/ya.make
index 51e3024b64..154259f44d 100644
--- a/contrib/restricted/boost/detail/ya.make
+++ b/contrib/restricted/boost/detail/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/dynamic_bitset/ya.make b/contrib/restricted/boost/dynamic_bitset/ya.make
index 4205dbfb1e..6590530e54 100644
--- a/contrib/restricted/boost/dynamic_bitset/ya.make
+++ b/contrib/restricted/boost/dynamic_bitset/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/endian/ya.make b/contrib/restricted/boost/endian/ya.make
index 0253e965f6..a8ef1e0929 100644
--- a/contrib/restricted/boost/endian/ya.make
+++ b/contrib/restricted/boost/endian/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/exception/ya.make b/contrib/restricted/boost/exception/ya.make
index f5dd8d5a15..0a4f37eb4d 100644
--- a/contrib/restricted/boost/exception/ya.make
+++ b/contrib/restricted/boost/exception/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/filesystem/ya.make b/contrib/restricted/boost/filesystem/ya.make
index b576f8c67f..77f703684e 100644
--- a/contrib/restricted/boost/filesystem/ya.make
+++ b/contrib/restricted/boost/filesystem/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/foreach/ya.make b/contrib/restricted/boost/foreach/ya.make
index b2a7f73673..1d2a46c157 100644
--- a/contrib/restricted/boost/foreach/ya.make
+++ b/contrib/restricted/boost/foreach/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/format/ya.make b/contrib/restricted/boost/format/ya.make
index 1fa36671f8..e6a379ac2d 100644
--- a/contrib/restricted/boost/format/ya.make
+++ b/contrib/restricted/boost/format/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/function/ya.make b/contrib/restricted/boost/function/ya.make
index 6b4f5f501e..8f4408c4e6 100644
--- a/contrib/restricted/boost/function/ya.make
+++ b/contrib/restricted/boost/function/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/function_types/ya.make b/contrib/restricted/boost/function_types/ya.make
index a21355f70f..ea984dcf0a 100644
--- a/contrib/restricted/boost/function_types/ya.make
+++ b/contrib/restricted/boost/function_types/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/functional/ya.make b/contrib/restricted/boost/functional/ya.make
index fd94c7e4f8..3eafe1d62a 100644
--- a/contrib/restricted/boost/functional/ya.make
+++ b/contrib/restricted/boost/functional/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/fusion/ya.make b/contrib/restricted/boost/fusion/ya.make
index b040d1b354..76f1891d2c 100644
--- a/contrib/restricted/boost/fusion/ya.make
+++ b/contrib/restricted/boost/fusion/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/graph/ya.make b/contrib/restricted/boost/graph/ya.make
index 0d094e599f..fcf8a46af1 100644
--- a/contrib/restricted/boost/graph/ya.make
+++ b/contrib/restricted/boost/graph/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/icl/ya.make b/contrib/restricted/boost/icl/ya.make
index b35a6498aa..e3947c9cd9 100644
--- a/contrib/restricted/boost/icl/ya.make
+++ b/contrib/restricted/boost/icl/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/integer/ya.make b/contrib/restricted/boost/integer/ya.make
index 73fb20e082..d968252ea5 100644
--- a/contrib/restricted/boost/integer/ya.make
+++ b/contrib/restricted/boost/integer/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/interprocess/ya.make b/contrib/restricted/boost/interprocess/ya.make
index f80c8214e5..c358bb72df 100644
--- a/contrib/restricted/boost/interprocess/ya.make
+++ b/contrib/restricted/boost/interprocess/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/intrusive/ya.make b/contrib/restricted/boost/intrusive/ya.make
index c4277755b1..618728e554 100644
--- a/contrib/restricted/boost/intrusive/ya.make
+++ b/contrib/restricted/boost/intrusive/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/io/ya.make b/contrib/restricted/boost/io/ya.make
index c2aaf8fd2b..b3462f4776 100644
--- a/contrib/restricted/boost/io/ya.make
+++ b/contrib/restricted/boost/io/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/iostreams/ya.make b/contrib/restricted/boost/iostreams/ya.make
index 7ca9e63c2d..b16e94cb2d 100644
--- a/contrib/restricted/boost/iostreams/ya.make
+++ b/contrib/restricted/boost/iostreams/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/iterator/ya.make b/contrib/restricted/boost/iterator/ya.make
index fb90d32045..420fc86cb1 100644
--- a/contrib/restricted/boost/iterator/ya.make
+++ b/contrib/restricted/boost/iterator/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/lambda/ya.make b/contrib/restricted/boost/lambda/ya.make
index 18a1d6da60..f07eb7a44a 100644
--- a/contrib/restricted/boost/lambda/ya.make
+++ b/contrib/restricted/boost/lambda/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/lexical_cast/ya.make b/contrib/restricted/boost/lexical_cast/ya.make
index 5661727518..4f664aa61f 100644
--- a/contrib/restricted/boost/lexical_cast/ya.make
+++ b/contrib/restricted/boost/lexical_cast/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/locale/ya.make b/contrib/restricted/boost/locale/ya.make
index c219d30267..9576428064 100644
--- a/contrib/restricted/boost/locale/ya.make
+++ b/contrib/restricted/boost/locale/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/math/ya.make b/contrib/restricted/boost/math/ya.make
index 6a6432f8a5..988076c995 100644
--- a/contrib/restricted/boost/math/ya.make
+++ b/contrib/restricted/boost/math/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/move/ya.make b/contrib/restricted/boost/move/ya.make
index 5475939966..5cb906e47e 100644
--- a/contrib/restricted/boost/move/ya.make
+++ b/contrib/restricted/boost/move/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/mp11/ya.make b/contrib/restricted/boost/mp11/ya.make
index e8c641ac18..bced8c301e 100644
--- a/contrib/restricted/boost/mp11/ya.make
+++ b/contrib/restricted/boost/mp11/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/mpl/ya.make b/contrib/restricted/boost/mpl/ya.make
index 554a312980..3fedf8a239 100644
--- a/contrib/restricted/boost/mpl/ya.make
+++ b/contrib/restricted/boost/mpl/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/multi_array/ya.make b/contrib/restricted/boost/multi_array/ya.make
index 42944d86f6..200878edc2 100644
--- a/contrib/restricted/boost/multi_array/ya.make
+++ b/contrib/restricted/boost/multi_array/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/multi_index/ya.make b/contrib/restricted/boost/multi_index/ya.make
index b36b0131e5..7935b94c2b 100644
--- a/contrib/restricted/boost/multi_index/ya.make
+++ b/contrib/restricted/boost/multi_index/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/numeric_conversion/ya.make b/contrib/restricted/boost/numeric_conversion/ya.make
index b8a1b502bf..1e7fd5d076 100644
--- a/contrib/restricted/boost/numeric_conversion/ya.make
+++ b/contrib/restricted/boost/numeric_conversion/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/optional/ya.make b/contrib/restricted/boost/optional/ya.make
index f5fc86fbef..1c6124ec49 100644
--- a/contrib/restricted/boost/optional/ya.make
+++ b/contrib/restricted/boost/optional/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/parameter/ya.make b/contrib/restricted/boost/parameter/ya.make
index 251c719150..99e187dd21 100644
--- a/contrib/restricted/boost/parameter/ya.make
+++ b/contrib/restricted/boost/parameter/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/phoenix/ya.make b/contrib/restricted/boost/phoenix/ya.make
index a16955ff0b..c612414a7c 100644
--- a/contrib/restricted/boost/phoenix/ya.make
+++ b/contrib/restricted/boost/phoenix/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/pool/ya.make b/contrib/restricted/boost/pool/ya.make
index 8773925a7d..ccf63a4237 100644
--- a/contrib/restricted/boost/pool/ya.make
+++ b/contrib/restricted/boost/pool/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/predef/ya.make b/contrib/restricted/boost/predef/ya.make
index e908e6f857..650be04dbc 100644
--- a/contrib/restricted/boost/predef/ya.make
+++ b/contrib/restricted/boost/predef/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/preprocessor/ya.make b/contrib/restricted/boost/preprocessor/ya.make
index 3336f4e751..c7f3766b01 100644
--- a/contrib/restricted/boost/preprocessor/ya.make
+++ b/contrib/restricted/boost/preprocessor/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/program_options/ya.make b/contrib/restricted/boost/program_options/ya.make
index 9bc4c91359..bccf24334b 100644
--- a/contrib/restricted/boost/program_options/ya.make
+++ b/contrib/restricted/boost/program_options/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/property_map/ya.make b/contrib/restricted/boost/property_map/ya.make
index 42f1e30c66..eedeb664ad 100644
--- a/contrib/restricted/boost/property_map/ya.make
+++ b/contrib/restricted/boost/property_map/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/property_tree/ya.make b/contrib/restricted/boost/property_tree/ya.make
index 7f4f4f03b1..6782368368 100644
--- a/contrib/restricted/boost/property_tree/ya.make
+++ b/contrib/restricted/boost/property_tree/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/proto/ya.make b/contrib/restricted/boost/proto/ya.make
index da12ddaf7c..208f5c6903 100644
--- a/contrib/restricted/boost/proto/ya.make
+++ b/contrib/restricted/boost/proto/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/random/ya.make b/contrib/restricted/boost/random/ya.make
index 2a660f2d87..6f4eccc45d 100644
--- a/contrib/restricted/boost/random/ya.make
+++ b/contrib/restricted/boost/random/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/range/ya.make b/contrib/restricted/boost/range/ya.make
index a29289b9a6..e7159eda62 100644
--- a/contrib/restricted/boost/range/ya.make
+++ b/contrib/restricted/boost/range/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/ratio/ya.make b/contrib/restricted/boost/ratio/ya.make
index 3424873861..55402e3254 100644
--- a/contrib/restricted/boost/ratio/ya.make
+++ b/contrib/restricted/boost/ratio/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/rational/ya.make b/contrib/restricted/boost/rational/ya.make
index 21718f3aa4..3bd018e203 100644
--- a/contrib/restricted/boost/rational/ya.make
+++ b/contrib/restricted/boost/rational/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/regex/ya.make b/contrib/restricted/boost/regex/ya.make
index 956cc1dd53..7d0c8cfa6c 100644
--- a/contrib/restricted/boost/regex/ya.make
+++ b/contrib/restricted/boost/regex/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/scope/ya.make b/contrib/restricted/boost/scope/ya.make
index caf5dec21b..1292244470 100644
--- a/contrib/restricted/boost/scope/ya.make
+++ b/contrib/restricted/boost/scope/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/scope_exit/ya.make b/contrib/restricted/boost/scope_exit/ya.make
index 0619777d69..4c20428b51 100644
--- a/contrib/restricted/boost/scope_exit/ya.make
+++ b/contrib/restricted/boost/scope_exit/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/serialization/ya.make b/contrib/restricted/boost/serialization/ya.make
index b677edd692..bd3bc43d3f 100644
--- a/contrib/restricted/boost/serialization/ya.make
+++ b/contrib/restricted/boost/serialization/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/smart_ptr/ya.make b/contrib/restricted/boost/smart_ptr/ya.make
index b3779839c4..626ff3804f 100644
--- a/contrib/restricted/boost/smart_ptr/ya.make
+++ b/contrib/restricted/boost/smart_ptr/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/spirit/ya.make b/contrib/restricted/boost/spirit/ya.make
index ccb51f5ad6..f108f95a4b 100644
--- a/contrib/restricted/boost/spirit/ya.make
+++ b/contrib/restricted/boost/spirit/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/static_assert/ya.make b/contrib/restricted/boost/static_assert/ya.make
index 5aea070712..3681832672 100644
--- a/contrib/restricted/boost/static_assert/ya.make
+++ b/contrib/restricted/boost/static_assert/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/system/ya.make b/contrib/restricted/boost/system/ya.make
index deb146a20a..0bc1a155a5 100644
--- a/contrib/restricted/boost/system/ya.make
+++ b/contrib/restricted/boost/system/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/thread/ya.make b/contrib/restricted/boost/thread/ya.make
index 1549e1d453..5c328bdbba 100644
--- a/contrib/restricted/boost/thread/ya.make
+++ b/contrib/restricted/boost/thread/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/throw_exception/ya.make b/contrib/restricted/boost/throw_exception/ya.make
index 7c8f7c2e90..c9476383fe 100644
--- a/contrib/restricted/boost/throw_exception/ya.make
+++ b/contrib/restricted/boost/throw_exception/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/tokenizer/ya.make b/contrib/restricted/boost/tokenizer/ya.make
index 5c88e62772..55943e10b2 100644
--- a/contrib/restricted/boost/tokenizer/ya.make
+++ b/contrib/restricted/boost/tokenizer/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/tti/ya.make b/contrib/restricted/boost/tti/ya.make
index eb7e76e043..a02ee9d5c0 100644
--- a/contrib/restricted/boost/tti/ya.make
+++ b/contrib/restricted/boost/tti/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/tuple/ya.make b/contrib/restricted/boost/tuple/ya.make
index 497e852c0d..484b69a1ab 100644
--- a/contrib/restricted/boost/tuple/ya.make
+++ b/contrib/restricted/boost/tuple/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/type_index/ya.make b/contrib/restricted/boost/type_index/ya.make
index eb00dc5376..0e9e1b871f 100644
--- a/contrib/restricted/boost/type_index/ya.make
+++ b/contrib/restricted/boost/type_index/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/type_traits/ya.make b/contrib/restricted/boost/type_traits/ya.make
index 5ff75a31b6..443a9f8985 100644
--- a/contrib/restricted/boost/type_traits/ya.make
+++ b/contrib/restricted/boost/type_traits/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/typeof/ya.make b/contrib/restricted/boost/typeof/ya.make
index 482792fb88..e025e2f873 100644
--- a/contrib/restricted/boost/typeof/ya.make
+++ b/contrib/restricted/boost/typeof/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/utility/ya.make b/contrib/restricted/boost/utility/ya.make
index 9e7e870902..2114d7a8f9 100644
--- a/contrib/restricted/boost/utility/ya.make
+++ b/contrib/restricted/boost/utility/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/variant/ya.make b/contrib/restricted/boost/variant/ya.make
index e3e8f50ff3..649b2ae5e7 100644
--- a/contrib/restricted/boost/variant/ya.make
+++ b/contrib/restricted/boost/variant/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/variant2/ya.make b/contrib/restricted/boost/variant2/ya.make
index 4259d6b6cf..e717d77b7c 100644
--- a/contrib/restricted/boost/variant2/ya.make
+++ b/contrib/restricted/boost/variant2/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/winapi/ya.make b/contrib/restricted/boost/winapi/ya.make
index 1ee9d12893..47d480123b 100644
--- a/contrib/restricted/boost/winapi/ya.make
+++ b/contrib/restricted/boost/winapi/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/xpressive/ya.make b/contrib/restricted/boost/xpressive/ya.make
index 081bb754fd..d25ab32505 100644
--- a/contrib/restricted/boost/xpressive/ya.make
+++ b/contrib/restricted/boost/xpressive/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/yt/yt/core/concurrency/arcadia_interop-inl.h b/yt/yt/core/concurrency/arcadia_interop-inl.h
new file mode 100644
index 0000000000..57dc19c66d
--- /dev/null
+++ b/yt/yt/core/concurrency/arcadia_interop-inl.h
@@ -0,0 +1,68 @@
+#ifndef ARCADIA_INTEROP_INL_H_
+#error "Direct inclusion of this file is not allowed, include async_batcher.h"
+// For the sake of sane code completion.
+#include "arcadia_interop.h"
+#endif
+#undef ARCADIA_INTEROP_INL_H_
+
+#include <yt/yt/core/actions/future.h>
+
+#include <library/cpp/threading/future/core/future.h>
+
+namespace NYT::NConcurrency {
+
+////////////////////////////////////////////////////////////////////////////////
+
+template <class T>
+::NThreading::TFuture<T> ToArcadiaFuture(const TFuture<T>& future)
+{
+ auto promise = ::NThreading::NewPromise<T>();
+ auto wrappedFuture = promise.GetFuture();
+
+ future
+ .Subscribe(BIND([promise = std::move(promise)] (const TErrorOr<T>& valueOrError) mutable {
+ try {
+ if constexpr (std::is_same_v<T, void>) {
+ valueOrError
+ .ThrowOnError();
+ promise.TrySetValue();
+ } else {
+ auto value = valueOrError
+ .ValueOrThrow();
+ promise.TrySetValue(std::move(value));
+ }
+ } catch (...) {
+ promise.TrySetException(std::current_exception());
+ }
+ }));
+
+ return wrappedFuture;
+}
+
+template <class T>
+TFuture<T> FromArcadiaFuture(const ::NThreading::TFuture<T>& future)
+{
+ auto promise = NewPromise<T>();
+ auto wrappedFuture = promise.ToFuture();
+
+ future
+ .Subscribe([promise = std::move(promise)](::NThreading::TFuture<T> future) {
+ YT_ASSERT(future.HasValue() || future.HasException());
+ try {
+ if constexpr (std::is_void_v<T>) {
+ future.TryRethrow();
+ promise.TrySet();
+ } else {
+ promise.TrySet(future.ExtractValueSync());
+ }
+ } catch (const std::exception& e) {
+ promise.TrySet(NYT::TError(e));
+ }
+ });
+
+ return wrappedFuture;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+} // namespace NYT::NConcurrency
diff --git a/yt/yt/core/concurrency/arcadia_interop.h b/yt/yt/core/concurrency/arcadia_interop.h
new file mode 100644
index 0000000000..d46ebb8c00
--- /dev/null
+++ b/yt/yt/core/concurrency/arcadia_interop.h
@@ -0,0 +1,23 @@
+#pragma once
+
+#include <yt/yt/core/actions/future.h>
+
+#include <library/cpp/threading/future/core/future.h>
+
+namespace NYT::NConcurrency {
+
+////////////////////////////////////////////////////////////////////////////////
+
+template <class T>
+::NThreading::TFuture<T> ToArcadiaFuture(const TFuture<T>& future);
+
+template <class T>
+TFuture<T> FromArcadiaFuture(const ::NThreading::TFuture<T>& future);
+
+////////////////////////////////////////////////////////////////////////////////
+
+} // namespace NYT::NConcurrency
+
+#define ARCADIA_INTEROP_INL_H_
+#include "arcadia_interop-inl.h"
+#undef ARCADIA_INTEROP_INL_H_
diff --git a/yt/yt/core/concurrency/unittests/arcadia_interop_ut.cpp b/yt/yt/core/concurrency/unittests/arcadia_interop_ut.cpp
new file mode 100644
index 0000000000..a987ebbca2
--- /dev/null
+++ b/yt/yt/core/concurrency/unittests/arcadia_interop_ut.cpp
@@ -0,0 +1,137 @@
+#include <yt/yt/core/test_framework/framework.h>
+
+#include <yt/yt/core/concurrency/arcadia_interop.h>
+
+namespace NYT::NConcurrency {
+namespace {
+
+////////////////////////////////////////////////////////////////////////////////
+
+TEST(TFutureInteropTest, FromArcadiaFutureWithValue1)
+{
+ auto future = FromArcadiaFuture(::NThreading::MakeFuture<int>(1));
+ ASSERT_TRUE(future.IsSet());
+ EXPECT_EQ(1, future.Get().ValueOrThrow());
+}
+
+TEST(TFutureInteropTest, FromArcadiaFutureWithValue2)
+{
+ ::testing::TProbeState state;
+ auto promise = ::NThreading::NewPromise<::testing::TProbe>();
+ auto future = FromArcadiaFuture(promise.GetFuture());
+ EXPECT_TRUE(!future.IsSet());
+ promise.SetValue(::testing::TProbe(&state));
+ ASSERT_TRUE(future.IsSet());
+ EXPECT_TRUE(future.Get().ValueOrThrow().IsValid());
+ EXPECT_THAT(state, ::testing::HasCopyMoveCounts(0, 3));
+}
+
+TEST(TFutureInteropTest, FromArcadiaFutureWithError1)
+{
+ auto promise = ::NThreading::NewPromise<int>();
+ promise.SetException("error");
+ auto future = FromArcadiaFuture(promise.GetFuture());
+ ASSERT_TRUE(future.IsSet());
+ EXPECT_THROW_MESSAGE_HAS_SUBSTR(future.Get().ThrowOnError(), std::exception, "error");
+}
+
+TEST(TFutureInteropTest, FromArcadiaFutureWithError2)
+{
+ auto promise = ::NThreading::NewPromise<int>();
+ auto future = FromArcadiaFuture(promise.GetFuture());
+ EXPECT_TRUE(!future.IsSet());
+ promise.SetException("error");
+ ASSERT_TRUE(future.IsSet());
+ EXPECT_THROW_MESSAGE_HAS_SUBSTR(future.Get().ThrowOnError(), std::exception, "error");
+}
+
+TEST(TFutureInteropTest, FromArcadiaFutureVoid1)
+{
+ auto promise = ::NThreading::NewPromise<void>();
+ auto future = FromArcadiaFuture(promise.GetFuture());
+ EXPECT_TRUE(!future.IsSet());
+ promise.SetValue();
+ ASSERT_TRUE(future.IsSet());
+ EXPECT_NO_THROW(future.Get().ThrowOnError());
+}
+
+TEST(TFutureInteropTest, FromArcadiaFutureVoid2)
+{
+ auto promise = ::NThreading::NewPromise<void>();
+ auto future = FromArcadiaFuture(promise.GetFuture());
+ EXPECT_TRUE(!future.IsSet());
+ promise.SetException("error");
+ ASSERT_TRUE(future.IsSet());
+ ASSERT_THROW_MESSAGE_HAS_SUBSTR(future.Get().ThrowOnError(), std::exception, "error");
+}
+
+TEST(TFutureInteropTest, FromArcadiaFutureCancel)
+{
+ auto promise = ::NThreading::NewPromise<void>();
+ auto future = FromArcadiaFuture(promise.GetFuture());
+ EXPECT_TRUE(!future.IsSet());
+ future.Cancel(TError("canceled"));
+ promise.SetValue();
+ ASSERT_THROW_MESSAGE_HAS_SUBSTR(future.Get().ThrowOnError(), std::exception, "canceled");
+}
+
+TEST(TFutureInteropTest, ToArcadiaFutureWithValue)
+{
+ ::testing::TProbeState state;
+ auto promise = NewPromise<::testing::TProbe>();
+ auto future = ToArcadiaFuture(promise.ToFuture());
+ EXPECT_FALSE(future.HasValue());
+ promise.Set(::testing::TProbe(&state));
+ ASSERT_TRUE(future.HasValue());
+ EXPECT_TRUE(future.GetValue().IsValid());
+ EXPECT_THAT(state, ::testing::HasCopyMoveCounts(1, 2));
+}
+
+TEST(TFutureInteropTest, ToArcadiaFutureWithError1)
+{
+ ::testing::TProbeState state;
+ auto promise = NewPromise<::testing::TProbe>();
+ auto future = ToArcadiaFuture(promise.ToFuture());
+ EXPECT_FALSE(future.HasValue());
+ promise.Set(TError("error"));
+ ASSERT_TRUE(future.HasException());
+ EXPECT_THROW_MESSAGE_HAS_SUBSTR(future.TryRethrow(), std::exception, "error");
+ EXPECT_THAT(state, ::testing::HasCopyMoveCounts(0, 0));
+}
+
+TEST(TFutureInteropTest, ToArcadiaFutureCanceled)
+{
+ ::testing::TProbeState state;
+ auto promise = NewPromise<::testing::TProbe>();
+ auto future = ToArcadiaFuture(promise.ToFuture());
+ EXPECT_FALSE(future.HasValue());
+
+ promise.ToFuture().Cancel(TError("canceled"));
+ ASSERT_TRUE(future.HasException());
+ EXPECT_THROW_MESSAGE_HAS_SUBSTR(future.TryRethrow(), std::exception, "canceled");
+ EXPECT_THAT(state, ::testing::HasCopyMoveCounts(0, 0));
+}
+
+TEST(TFutureInteropTest, ToArcadiaFutureVoid1)
+{
+ auto promise = NewPromise<void>();
+ auto future = ToArcadiaFuture(promise.ToFuture());
+ EXPECT_FALSE(future.HasValue());
+ promise.Set();
+ EXPECT_TRUE(future.HasValue());
+}
+
+TEST(TFutureInteropTest, ToArcadiaFutureVoid2)
+{
+ auto promise = NewPromise<void>();
+ auto future = ToArcadiaFuture(promise.ToFuture());
+ EXPECT_FALSE(future.HasValue());
+ promise.Set(TError("error"));
+ EXPECT_TRUE(future.HasException());
+ EXPECT_THROW_MESSAGE_HAS_SUBSTR(future.TryRethrow(), std::exception, "error");
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+} // namespace
+} // namespace NYT:::NConcurrency
diff --git a/yt/yt/core/concurrency/unittests/ya.make b/yt/yt/core/concurrency/unittests/ya.make
index 1d59b915ee..f78e63ebce 100644
--- a/yt/yt/core/concurrency/unittests/ya.make
+++ b/yt/yt/core/concurrency/unittests/ya.make
@@ -5,6 +5,7 @@ INCLUDE(${ARCADIA_ROOT}/yt/ya_cpp.make.inc)
PROTO_NAMESPACE(yt)
SRCS(
+ arcadia_interop_ut.cpp
async_barrier_ut.cpp
async_looper_ut.cpp
async_rw_lock_ut.cpp
@@ -47,6 +48,7 @@ PEERDIR(
yt/yt/core/test_framework
library/cpp/json/yson
+ library/cpp/threading/future
)
REQUIREMENTS(