diff --git a/skeleton/Program/Build/RaspberryCloud.sdf b/skeleton/Program/Build/RaspberryCloud.sdf index 7e537595bf9173b3c215908b8b98d4705a09450e..91ba34f0698f6bd2a2b93a41016139ecda53dad1 100644 Binary files a/skeleton/Program/Build/RaspberryCloud.sdf and b/skeleton/Program/Build/RaspberryCloud.sdf differ diff --git a/skeleton/Program/Build/RaspberryCloud.v12.suo b/skeleton/Program/Build/RaspberryCloud.v12.suo index 66e186584c19db2fa5faf16320e24e06491fa22f..8b277e7538bdb15dbfc9ef54f71888b851971cdb 100644 Binary files a/skeleton/Program/Build/RaspberryCloud.v12.suo and b/skeleton/Program/Build/RaspberryCloud.v12.suo differ diff --git a/skeleton/Program/Build/RaspberryCloud/store.dat b/skeleton/Program/Build/RaspberryCloud/store.dat index 93226091a474238051e2fd9e17d9d32810cce8f8..abe4227f7e8745374d1e7bb056cd166c8d9a5ce7 100644 --- a/skeleton/Program/Build/RaspberryCloud/store.dat +++ b/skeleton/Program/Build/RaspberryCloud/store.dat @@ -1,13 +1,11 @@ -3 +2 three.txt +104 1 -asd.txt +3.txt localcm two.txt +104 1 -lol.txt -localcm -old\\one.txt -1 -old.txt +2.txt localcm diff --git a/skeleton/Program/Source/dataAccess/CloudFileList.h b/skeleton/Program/Source/dataAccess/CloudFileList.h index 99a2a17428e0ad66fc3a9d05b8076ffaa39729b4..f7abae79414f8103c8f3590402899e0fb0dc5e5c 100644 --- a/skeleton/Program/Source/dataAccess/CloudFileList.h +++ b/skeleton/Program/Source/dataAccess/CloudFileList.h @@ -26,6 +26,13 @@ public: out << fileID; out << separator; + long fSize = fd->getSize(); + if (fSize == 0){ + cout << "SIZE NOT SET!"; + } + out << fSize; + out << separator; + vector<Fragment> frags = fd->getFragments(); out << frags.size(); out << separator; @@ -48,6 +55,8 @@ public: int IfileTreeSize; int IfragSize; + long IfileSize; + string fileSize; string fileTreeSize; string fileID; string fragSize; @@ -55,9 +64,15 @@ public: string cloudID; getline(in, fileTreeSize); IfileTreeSize = stoi(fileTreeSize); + for (int i = 0; i < IfileTreeSize; i++){ getline(in, fileID); FileDescriptor* row = new FileDescriptor(fileID); + + getline(in, fileSize); + IfileSize = stol(fileSize); + row->setSize(IfileSize); + getline(in, fragSize); IfragSize = stoi(fragSize); vector<Fragment>* fragments = new vector<Fragment>; diff --git a/skeleton/Program/Source/dataAccess/Encoder.cpp b/skeleton/Program/Source/dataAccess/Encoder.cpp index 1d27d5362e987b0badc0279b2b200c47c41cacec..c7632b351cc0f481b05837b9113e6c0f0f0365dc 100644 --- a/skeleton/Program/Source/dataAccess/Encoder.cpp +++ b/skeleton/Program/Source/dataAccess/Encoder.cpp @@ -44,7 +44,10 @@ FileDescriptor* Encoder::encode(string localFileID, string destinationFileID) { FileDescriptor* encoded = new FileDescriptor(localFileID); - + ifstream in(dataFolder + localFileID, std::ifstream::ate | std::ifstream::binary); + long size = in.tellg(); + encoded->setSize(size); + in.close(); /*using file_encoder = kodo::object::file_encoder< kodo::shallow_full_rlnc_encoder<fifi::binary >> ; diff --git a/skeleton/Program/Source/fileModel/FileDescriptor.cpp b/skeleton/Program/Source/fileModel/FileDescriptor.cpp index ec5e75e7d27a25b4045c04616204b8f6effbb40c..4f5ff486dc7af75d63c20fedb9e0041e7b08bf75 100644 --- a/skeleton/Program/Source/fileModel/FileDescriptor.cpp +++ b/skeleton/Program/Source/fileModel/FileDescriptor.cpp @@ -9,11 +9,13 @@ FileDescriptor::FileDescriptor(string _fileID, vector<Fragment> _fragments){ LOG_ENTER_EXIT; fileID = _fileID; fragments = _fragments; + fileSize = 0; } FileDescriptor::FileDescriptor(string _fileID){ LOG_ENTER_EXIT; fileID = _fileID; + fileSize = 0; } void FileDescriptor::setFileID(string _fileID){ diff --git a/skeleton/Program/Source/fileModel/FileDescriptor.h b/skeleton/Program/Source/fileModel/FileDescriptor.h index eb1cba66b7628bcd6822e087887230ae351fb579..c8b4f2ae91681ec3d28a6231b32dbce2b320438e 100644 --- a/skeleton/Program/Source/fileModel/FileDescriptor.h +++ b/skeleton/Program/Source/fileModel/FileDescriptor.h @@ -17,6 +17,7 @@ using namespace std; class FileDescriptor { private: vector<Fragment> fragments; + long fileSize; string fileID; public: /** @@ -46,6 +47,10 @@ public: */ void setFragments(vector<Fragment> _fragments); + void setSize(long _s){ fileSize = _s; } + + long getSize() { return fileSize; } + /** * Getter method for fileID * @return _fileID its fileID diff --git a/skeleton/Program/cloud/lol.txt b/skeleton/Program/cloud/2.txt similarity index 100% rename from skeleton/Program/cloud/lol.txt rename to skeleton/Program/cloud/2.txt diff --git a/skeleton/Program/cloud/asd.txt b/skeleton/Program/cloud/3.txt similarity index 100% rename from skeleton/Program/cloud/asd.txt rename to skeleton/Program/cloud/3.txt diff --git a/skeleton/Program/cloud/old.txt b/skeleton/Program/cloud/old.txt deleted file mode 100644 index e2350307b3a67d1677c6aa39f3e9c4847e270dbc..0000000000000000000000000000000000000000 --- a/skeleton/Program/cloud/old.txt +++ /dev/null @@ -1,7 +0,0 @@ -1111111111111111111 -1111111111111 -11111 -111111111111 -1111111111111 -111111111111111111 -111111111111 \ No newline at end of file