]>
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_LIBRBD_CACHE_MOCK_IMAGE_CACHE_H | |
5 | #define CEPH_TEST_LIBRBD_CACHE_MOCK_IMAGE_CACHE_H | |
6 | ||
7 | #include "gmock/gmock.h" | |
8 | #include <vector> | |
9 | ||
10 | namespace librbd { | |
11 | namespace cache { | |
12 | ||
13 | struct MockImageCache { | |
14 | typedef std::vector<std::pair<uint64_t,uint64_t> > Extents; | |
15 | ||
16 | MOCK_METHOD4(aio_read_mock, void(const Extents &, ceph::bufferlist*, int, | |
17 | Context *)); | |
18 | void aio_read(Extents&& image_extents, ceph::bufferlist* bl, | |
19 | int fadvise_flags, Context *on_finish) { | |
20 | aio_read_mock(image_extents, bl, fadvise_flags, on_finish); | |
21 | } | |
22 | ||
23 | ||
24 | MOCK_METHOD4(aio_write_mock, void(const Extents &, const ceph::bufferlist &, | |
25 | int, Context *)); | |
26 | void aio_write(Extents&& image_extents, ceph::bufferlist&& bl, | |
27 | int fadvise_flags, Context *on_finish) { | |
28 | aio_write_mock(image_extents, bl, fadvise_flags, on_finish); | |
29 | } | |
30 | ||
11fdf7f2 | 31 | MOCK_METHOD4(aio_discard, void(uint64_t, uint64_t, uint32_t, Context *)); |
7c673cae FG |
32 | MOCK_METHOD1(aio_flush, void(Context *)); |
33 | MOCK_METHOD5(aio_writesame_mock, void(uint64_t, uint64_t, ceph::bufferlist& bl, | |
34 | int, Context *)); | |
35 | void aio_writesame(uint64_t off, uint64_t len, ceph::bufferlist&& bl, | |
36 | int fadvise_flags, Context *on_finish) { | |
37 | aio_writesame_mock(off, len, bl, fadvise_flags, on_finish); | |
38 | } | |
c07f9fc5 FG |
39 | |
40 | MOCK_METHOD6(aio_compare_and_write_mock, void(const Extents &, | |
41 | const ceph::bufferlist &, | |
42 | const ceph::bufferlist &, | |
43 | uint64_t *, int, Context *)); | |
44 | ||
45 | void aio_compare_and_write(Extents&& image_extents, ceph::bufferlist&& cmp_bl, | |
46 | ceph::bufferlist&& bl, uint64_t *mismatch_offset, | |
47 | int fadvise_flags, Context *on_finish) { | |
48 | aio_compare_and_write_mock(image_extents, cmp_bl, bl, mismatch_offset, | |
49 | fadvise_flags, on_finish); | |
50 | } | |
7c673cae FG |
51 | }; |
52 | ||
53 | } // namespace cache | |
54 | } // namespace librbd | |
55 | ||
56 | #endif // CEPH_TEST_LIBRBD_CACHE_MOCK_IMAGE_CACHE_H |