Seastar
High performance C++ framework for concurrent servers
seastar
core
idle_cpu_handler.hh
Go to the documentation of this file.
1
/*
2
* This file is open source software, licensed to you under the terms
3
* of the Apache License, Version 2.0 (the "License"). See the NOTICE file
4
* distributed with this work for additional information regarding copyright
5
* ownership. You may not use this file except in compliance with the License.
6
*
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing,
12
* software distributed under the License is distributed on an
13
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
* KIND, either express or implied. See the License for the
15
* specific language governing permissions and limitations
16
* under the License.
17
*/
18
/*
19
* Copyright 2020 ScyllaDB
20
*/
21
22
#pragma once
23
24
#include <seastar/util/noncopyable_function.hh>
25
27
28
namespace
seastar
{
29
32
enum class
idle_cpu_handler_result
{
33
no_more_work,
34
interrupted_by_higher_priority_task
35
};
36
41
using
work_waiting_on_reactor
=
const
noncopyable_function
<bool()>&;
42
47
using
idle_cpu_handler
=
noncopyable_function
<
idle_cpu_handler_result
(
work_waiting_on_reactor
poll)>;
48
57
void
set_idle_cpu_handler
(
idle_cpu_handler
&& handler);
58
59
}
seastar::idle_cpu_handler_result::no_more_work
@ no_more_work
The user callback has no more work to perform.
seastar
Seastar API namespace.
Definition:
abort_on_ebadf.hh:24
seastar::idle_cpu_handler_result
idle_cpu_handler_result
Definition:
idle_cpu_handler.hh:32
seastar::set_idle_cpu_handler
void set_idle_cpu_handler(idle_cpu_handler &&handler)
seastar::noncopyable_function
Definition:
noncopyable_function.hh:33
Generated by
1.8.20