aboutsummaryrefslogtreecommitdiffstats
path: root/yt/yt/core/concurrency/thread_affinity-inl.h
blob: 7d68fe6a719e392df0df16c189fb8c6065b73c1b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#ifndef THREAD_AFFINITY_INL_H_
#error "Direct inclusion of this file is not allowed, include thread_affinity.h"
// For the sake of sane code completion.
#include "thread_affinity.h"
#endif
#undef THREAD_AFFINITY_INL_H_

namespace NYT::NConcurrency {

////////////////////////////////////////////////////////////////////////////////

// Forward declaration.
bool VerifyInvokerAffinity(const IInvokerPtr& invoker);

bool VerifySerializedInvokerAffinity(const IInvokerPtr& invoker);

template <class T>
bool VerifyInvokersAffinity(const T& invokers)
{
    for (const auto& invoker : invokers) {
        if (VerifyInvokerAffinity(invoker)) {
            return true;
        }
    }
    return false;
}

bool VerifyInvokerPoolAffinity(const IInvokerPoolPtr& invokerPool);

////////////////////////////////////////////////////////////////////////////////

} // namespace NYT::NConcurrency