]>
Commit | Line | Data |
---|---|---|
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 | #ifndef CEPH_TEST_MEM_IO_CTX_IMPL_H | |
5 | #define CEPH_TEST_MEM_IO_CTX_IMPL_H | |
6 | ||
7 | #include "test/librados_test_stub/TestIoCtxImpl.h" | |
8 | #include "test/librados_test_stub/TestMemCluster.h" | |
9 | ||
10 | namespace librados { | |
11 | ||
12 | class TestMemRadosClient; | |
13 | ||
14 | class TestMemIoCtxImpl : public TestIoCtxImpl { | |
15 | public: | |
16 | TestMemIoCtxImpl(); | |
17 | TestMemIoCtxImpl(TestMemRadosClient *client, int64_t m_pool_id, | |
18 | const std::string& pool_name, | |
19 | TestMemCluster::Pool *pool); | |
20 | ~TestMemIoCtxImpl() override; | |
21 | ||
22 | TestIoCtxImpl *clone() override; | |
23 | ||
24 | int aio_remove(const std::string& oid, AioCompletionImpl *c) override; | |
25 | ||
26 | int append(const std::string& oid, const bufferlist &bl, | |
27 | const SnapContext &snapc) override; | |
28 | ||
29 | int assert_exists(const std::string &oid) override; | |
30 | ||
31 | int create(const std::string& oid, bool exclusive) override; | |
32 | int list_snaps(const std::string& o, snap_set_t *out_snaps) override; | |
33 | int omap_get_vals(const std::string& oid, | |
34 | const std::string& start_after, | |
35 | const std::string &filter_prefix, | |
36 | uint64_t max_return, | |
37 | std::map<std::string, bufferlist> *out_vals) override; | |
c07f9fc5 FG |
38 | int omap_get_vals2(const std::string& oid, |
39 | const std::string& start_after, | |
40 | const std::string &filter_prefix, | |
41 | uint64_t max_return, | |
42 | std::map<std::string, bufferlist> *out_vals, | |
43 | bool *pmore) override; | |
7c673cae FG |
44 | int omap_rm_keys(const std::string& oid, |
45 | const std::set<std::string>& keys) override; | |
46 | int omap_set(const std::string& oid, const std::map<std::string, | |
47 | bufferlist> &map) override; | |
48 | int read(const std::string& oid, size_t len, uint64_t off, | |
49 | bufferlist *bl) override; | |
50 | int remove(const std::string& oid, const SnapContext &snapc) override; | |
51 | int selfmanaged_snap_create(uint64_t *snapid) override; | |
52 | int selfmanaged_snap_remove(uint64_t snapid) override; | |
53 | int selfmanaged_snap_rollback(const std::string& oid, | |
54 | uint64_t snapid) override; | |
b32b8144 FG |
55 | int set_alloc_hint(const std::string& oid, uint64_t expected_object_size, |
56 | uint64_t expected_write_size, | |
57 | const SnapContext &snapc) override; | |
7c673cae FG |
58 | int sparse_read(const std::string& oid, uint64_t off, uint64_t len, |
59 | std::map<uint64_t,uint64_t> *m, bufferlist *data_bl) override; | |
60 | int stat(const std::string& oid, uint64_t *psize, time_t *pmtime) override; | |
61 | int truncate(const std::string& oid, uint64_t size, | |
62 | const SnapContext &snapc) override; | |
63 | int write(const std::string& oid, bufferlist& bl, size_t len, | |
64 | uint64_t off, const SnapContext &snapc) override; | |
65 | int write_full(const std::string& oid, bufferlist& bl, | |
66 | const SnapContext &snapc) override; | |
67 | int writesame(const std::string& oid, bufferlist& bl, size_t len, | |
68 | uint64_t off, const SnapContext &snapc) override; | |
c07f9fc5 | 69 | int cmpext(const std::string& oid, uint64_t off, bufferlist& cmp_bl) override; |
7c673cae FG |
70 | int xattr_get(const std::string& oid, |
71 | std::map<std::string, bufferlist>* attrset) override; | |
72 | int xattr_set(const std::string& oid, const std::string &name, | |
73 | bufferlist& bl) override; | |
b32b8144 FG |
74 | int zero(const std::string& oid, uint64_t off, uint64_t len, |
75 | const SnapContext &snapc) override; | |
7c673cae FG |
76 | |
77 | protected: | |
78 | TestMemCluster::Pool *get_pool() { | |
79 | return m_pool; | |
80 | } | |
81 | ||
82 | private: | |
83 | TestMemIoCtxImpl(const TestMemIoCtxImpl&); | |
84 | ||
d2e6a577 FG |
85 | TestMemRadosClient *m_client = nullptr; |
86 | TestMemCluster::Pool *m_pool = nullptr; | |
7c673cae FG |
87 | |
88 | void append_clone(bufferlist& src, bufferlist* dest); | |
89 | size_t clip_io(size_t off, size_t len, size_t bl_len); | |
90 | void ensure_minimum_length(size_t len, bufferlist *bl); | |
91 | ||
92 | TestMemCluster::SharedFile get_file(const std::string &oid, bool write, | |
93 | const SnapContext &snapc); | |
94 | ||
95 | }; | |
96 | ||
97 | } // namespace librados | |
98 | ||
99 | #endif // CEPH_TEST_MEM_IO_CTX_IMPL_H |