summaryrefslogtreecommitdiffstats
path: root/src/rgw/rgw_process_env.h
blob: 4becf21a10fe2b0069b860f7c9e56334508a1dfa (plain)
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
// vim: ts=8 sw=2 smarttab ft=cpp

#pragma once

#include <memory>

class ActiveRateLimiter;
class OpsLogSink;
class RGWREST;

namespace rgw::auth {
  class StrategyRegistry;
}
namespace rgw::lua {
  class Background;
}
namespace rgw::sal {
  class Store;
  class LuaManager;
}

#ifdef WITH_ARROW_FLIGHT
namespace rgw::flight {
  class FlightServer;
  class FlightStore;
}
#endif

struct RGWLuaProcessEnv {
  std::string luarocks_path;
  rgw::lua::Background* background = nullptr;
  std::unique_ptr<rgw::sal::LuaManager> manager;
};

struct RGWProcessEnv {
  RGWLuaProcessEnv lua;
  rgw::sal::Driver* driver = nullptr;
  RGWREST *rest = nullptr;
  OpsLogSink *olog = nullptr;
  std::unique_ptr<rgw::auth::StrategyRegistry> auth_registry;
  ActiveRateLimiter* ratelimiting = nullptr;

#ifdef WITH_ARROW_FLIGHT
  // managed by rgw:flight::FlightFrontend in rgw_flight_frontend.cc
  rgw::flight::FlightServer* flight_server = nullptr;
  rgw::flight::FlightStore* flight_store = nullptr;
#endif
};