]> git.proxmox.com Git - ceph.git/blame - ceph/src/rgw/services/svc_meta.h
import quincy beta 17.1.0
[ceph.git] / ceph / src / rgw / services / svc_meta.h
CommitLineData
9f95a23c
TL
1// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2// vim: ts=8 sw=2 smarttab ft=cpp
3
4/*
5 * Ceph - scalable distributed file system
6 *
7 * Copyright (C) 2019 Red Hat, Inc.
8 *
9 * This is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License version 2.1, as published by the Free Software
12 * Foundation. See file COPYING.
13 *
14 */
15
16
17#pragma once
18
19#include "svc_meta_be.h"
20
21#include "rgw/rgw_service.h"
22
23
24class RGWMetadataLog;
25class RGWCoroutine;
26
27
28class RGWSI_Meta : public RGWServiceInstance
29{
30 RGWSI_SysObj *sysobj_svc{nullptr};
31 RGWSI_MDLog *mdlog_svc{nullptr};
32
20effc67 33 std::map<RGWSI_MetaBackend::Type, RGWSI_MetaBackend *> be_svc;
9f95a23c 34
20effc67 35 std::vector<std::unique_ptr<RGWSI_MetaBackend_Handler> > be_handlers;
9f95a23c
TL
36
37public:
38 RGWSI_Meta(CephContext *cct);
39 ~RGWSI_Meta();
40
41 void init(RGWSI_SysObj *_sysobj_svc,
42 RGWSI_MDLog *_mdlog_svc,
20effc67 43 std::vector<RGWSI_MetaBackend *>& _be_svc);
9f95a23c
TL
44
45 int create_be_handler(RGWSI_MetaBackend::Type be_type,
46 RGWSI_MetaBackend_Handler **phandler);
47};
48