fileobjectsmanageri.h

来自「GiPS是一个面向数据密集型应用的分布式文件系统」· C头文件 代码 · 共 47 行

H
47
字号
#pragma once
#include <Ice/Ice.h>
#include "Cluster.h"
#include "ClientMaster.h"
#include "GFile.h"
#include "GLoadBalancer.h" 

class IntegralityManager;
using namespace ClientMaster;

typedef std::map<::std::string, FileObject*> BlockTable;

struct ClerkFileBlock {
		std::string fid;
		long blockid;
	};

typedef struct ClerkFileBlock* PCFBlock;
typedef std::vector<PCFBlock> SubFileList;
typedef std::map<std::string, SubFileList*> ClerkFileList;

class FileObjectsManagerI : virtual public  FileObjectsManager
{
public:
	FileObjectsManagerI(const Ice::CommunicatorPtr & ic, Cluster::GDirectory* root, BlockTable* blockTable, Cluster::ClerkMap* clerkMap, Cluster::LoadTable* loadTable, ClerkFileList* clerkFileList);
	virtual bool getFileObjectStorageInformation(const ::std::string& fileName, ::ClientMaster::FileObject& fileObj, const ::Ice::Current&);
	virtual bool setFileObjectStorageInformation(const ::std::string& fileName, const ::ClientMaster::FileObject& fileObj, const ::Ice::Current&);
	virtual ::ClientMaster::desIPList getStorageNodes(const ::Ice::Current& = ::Ice::Current());

	virtual bool createFolder(const ::std::string& folderName, const ::Ice::Current&);
    virtual bool deleteFolder(const ::std::string& folderName, const ::Ice::Current&);
    virtual bool deleteFile(const ::std::string& fileName, const ::Ice::Current&);
	virtual ::ClientMaster::list getFSList(const ::Ice::Current&);

	BlockTable* m_blockTable;
	Cluster::GDirectory* m_root;
	Cluster::ClerkMap* m_clerkMap;
	Cluster::LoadTable* m_loadTable;
	ClerkFileList* m_clerkFileList;
	Cluster::GLoadBalancer* m_loadBalancer;
	static Ice::ObjectAdapterPtr _adapter;

private:
	virtual void rmFile(std::string fileName);
	virtual void rmDirectory(std::string folderName);
};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?