forked from haubenmi/navigating-cloud-oltp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRemoteBlockDeviceArchitecture.hpp
More file actions
31 lines (23 loc) · 1.13 KB
/
RemoteBlockDeviceArchitecture.hpp
File metadata and controls
31 lines (23 loc) · 1.13 KB
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
#pragma once
#include "Architecture.hpp"
//--------------------------------------------------------------------------------
class RemoteBlockDevice : public Architecture {
EBSPageService pageService;
EBSLogService log;
Rate lookups = Rate::zero;
Rate updates = Rate::zero;
public:
RemoteBlockDevice(Parameter p, Primary n, EBSAllotment t);
const PageService& getPageService() const override { return pageService; }
const LogService& getLogService() const override { return log; }
uint64_t getS3Storage() const override { return 0; }
Rate getS3GETRate() const override { return Rate::zero; }
Rate getS3PUTRate() const override { return Rate::zero; }
Durability getDurability() const override;
FailoverTime getFailoverTime() const override;
Rate getPrimaryRandomLookupTx() const override { return lookups; }
Rate getRandomUpdateTx() const override { return updates; }
uint64_t getInterAZTraffic() const override { return 0; }
static std::unique_ptr<RemoteBlockDevice> assemble(const Parameter& p, Node n, EBS::Type t);
};
//--------------------------------------------------------------------------------