]> git.proxmox.com Git - ceph.git/blame - ceph/src/dmclock/sim/src/test_ssched.h
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / dmclock / sim / src / test_ssched.h
CommitLineData
7c673cae
FG
1// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2// vim: ts=8 sw=2 smarttab
3
4/*
5 * Copyright (C) 2016 Red Hat Inc.
6 */
7
8
9#include "ssched_server.h"
10#include "ssched_client.h"
11
12#include "sim_recs.h"
13#include "sim_server.h"
14#include "sim_client.h"
15
16#include "simulate.h"
17
18
19namespace crimson {
20 namespace test_simple_scheduler {
21
22 namespace ssched = crimson::simple_scheduler;
23 namespace sim = crimson::qos_simulation;
24
25 using Time = double;
26
27 struct SimpleAccum {
28 uint32_t request_count = 0;
29 };
30
31 using SimpleQueue = ssched::SimpleQueue<ClientId,sim::TestRequest,Time>;
32
33 using SimpleServer = sim::SimulatedServer<SimpleQueue,
34 ssched::ReqParams,
35 ssched::NullData,
36 SimpleAccum>;
37 using SimpleClient = sim::SimulatedClient<ssched::ServiceTracker<ServerId>,
38 ssched::ReqParams,
39 ssched::NullData,
40 SimpleAccum>;
41
42 using CreateQueueF =
43 std::function<SimpleQueue*(SimpleQueue::CanHandleRequestFunc,
44 SimpleQueue::HandleRequestFunc)>;
45
46
47 using MySim = sim::Simulation<ServerId,ClientId,SimpleServer,SimpleClient>;
48
49 using SubmitFunc = SimpleClient::SubmitFunc;
50
51 extern void simple_server_accumulate_f(SimpleAccum& a,
52 const ssched::NullData& add_info);
53
54 extern void simple_client_accumulate_f(SimpleAccum& a,
55 const ssched::NullData& ignore);
56 } // namespace test_simple
57} // namespace crimson