⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fileobjectsmanageri.h

📁 GiPS是一个面向数据密集型应用的分布式文件系统
💻 H
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -