-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathc_mdm.h
More file actions
53 lines (38 loc) · 1.67 KB
/
c_mdm.h
File metadata and controls
53 lines (38 loc) · 1.67 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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include "cache_manager.h"
#include "meta_data_manager_services.grpc.pb.h"
using grpc::Channel;
using grpc::ClientContext;
using grpc::ClientReader;
using grpc::ClientReaderWriter;
using grpc::ClientWriter;
using grpc::Status;
using MetaDataManager::FileAccessRequest;
using MetaDataManager::FileAccessResponse;
using MetaDataManager::MetaDataManagerService;
using MetaDataManager::RegisterServiceRequest;
using MetaDataManager::RegisterServiceResponse;
using MetaDataManager::UpdateLastModifiedServiceRequest;
using MetaDataManager::UpdateLastModifiedServiceResponse;
class meta_data_manager_client {
private:
std::unique_ptr<MetaDataManagerService::Stub> stub_;
public:
meta_data_manager_client(std::shared_ptr<Channel> channel): stub_(MetaDataManagerService::NewStub(channel)){};
file_access_response_t* file_access_request_handler( file_access_request_t *c_req);
register_service_response_t* register_service_handler( register_service_request_t *c_req);
};
extern meta_data_manager_client *mdm_service;
int mm_create_new_file(const char *filename, int stripe_width) ;
int mm_open_file(const char *filename, const char mode);
int mm_get_read_permission (uint32_t fdis, size_t nbyte, off_t offset);
int mm_get_write_permission (uint32_t fdis, size_t nbyte, off_t offset);
int mm_delete_file(const char *filename);
int mm_get_fstat(string filename, struct pfs_stat *buf);
extern string client_server_ip_port ;
extern map<string,file_info_store*> file_dir;
extern map<uint32_t, string> fdis_to_filename_map;
extern map<string,pair<int,int>> token_map;
FileAccessRequest::RequestType
get_grpc_type (request_type type);
request_type
get_c_type(FileAccessRequest::RequestType type);