diff --git a/skeleton/Program/Build/RaspberryCloud.sdf b/skeleton/Program/Build/RaspberryCloud.sdf index 91ba34f0698f6bd2a2b93a41016139ecda53dad1..5ae43a47a6ff762ce8e4c20bc1cb3215e37b2d95 100644 Binary files a/skeleton/Program/Build/RaspberryCloud.sdf and b/skeleton/Program/Build/RaspberryCloud.sdf differ diff --git a/skeleton/Program/Build/RaspberryCloud/store.dat b/skeleton/Program/Build/RaspberryCloud/store.dat index abe4227f7e8745374d1e7bb056cd166c8d9a5ce7..5e39d336a9d3bd58d2cda90215f1fb3843eebb7e 100644 --- a/skeleton/Program/Build/RaspberryCloud/store.dat +++ b/skeleton/Program/Build/RaspberryCloud/store.dat @@ -1,11 +1,24 @@ -2 -three.txt -104 1 -3.txt +test.jpg +283725 +10 +frag_000_000.frg localcm -two.txt -104 -1 -2.txt +frag_000_001.frg +localcm +frag_000_002.frg +localcm +frag_000_003.frg +localcm +frag_000_004.frg +localcm +frag_000_005.frg +localcm +frag_000_006.frg +localcm +frag_000_007.frg +localcm +frag_000_008.frg +localcm +frag_000_009.frg localcm diff --git a/skeleton/Program/Source/dataAccess/Encoder.cpp b/skeleton/Program/Source/dataAccess/Encoder.cpp index c7632b351cc0f481b05837b9113e6c0f0f0365dc..6507ec7fe8bf22cea5e28a122b4a0d898a51d293 100644 --- a/skeleton/Program/Source/dataAccess/Encoder.cpp +++ b/skeleton/Program/Source/dataAccess/Encoder.cpp @@ -24,9 +24,6 @@ FileDescriptor* Encoder::encode(string localFileID, string destinationFileID) { string dataFolder = "C:\\Users\\krisz\\raspberrycloud\\skeleton\\Program\\data\\"; string fragFolder = "C:\\Users\\krisz\\raspberrycloud\\skeleton\\Program\\temp\\"; - /*uint32_t max_symbols = 10; - uint32_t max_symbol_size = 5000;*/ - std::string encode_filename = dataFolder + localFileID; //check if file exists @@ -35,21 +32,22 @@ FileDescriptor* Encoder::encode(string localFileID, string destinationFileID) { return NULL; } - ifstream src(dataFolder + localFileID, std::ios::binary); - ofstream dst(fragFolder + destinationFileID, std::ios::binary); - dst << src.rdbuf(); - - src.close(); - dst.close(); + //ifstream src(dataFolder + localFileID, std::ios::binary); + //ofstream dst(fragFolder + destinationFileID, std::ios::binary); + //dst << src.rdbuf(); + // + //src.close(); + //dst.close(); FileDescriptor* encoded = new FileDescriptor(localFileID); - ifstream in(dataFolder + localFileID, std::ifstream::ate | std::ifstream::binary); - long size = in.tellg(); - encoded->setSize(size); - in.close(); + long file_size = filesize(encode_filename); + encoded->setSize(file_size); + + uint32_t max_symbols = 10; + uint32_t max_symbol_size = file_size / 10 + 1; - /*using file_encoder = kodo::object::file_encoder< + using file_encoder = kodo::object::file_encoder< kodo::shallow_full_rlnc_encoder<fifi::binary >> ; file_encoder::factory encoder_factory(max_symbols, max_symbol_size); @@ -67,7 +65,7 @@ FileDescriptor* Encoder::encode(string localFileID, string destinationFileID) { { e->encode(payload.data()); - std::string filename = (boost::format("frag_%1$02d_%2$02d.frg") % i % j).str(); + std::string filename = (boost::format("frag_%1$03d_%2$03d.frg") % i % j).str(); std::ofstream fragFile( fragFolder + filename, @@ -75,11 +73,10 @@ FileDescriptor* Encoder::encode(string localFileID, string destinationFileID) { std::copy(payload.begin(), payload.end(), std::ostreambuf_iterator<char>(fragFile)); fragFile.close(); - encoded->addFragment(*(new Fragment("unset", filename))); + encoded->addFragment(Fragment("unset", filename)); } - }*/ + } - encoded->addFragment(*(new Fragment("unset", destinationFileID))); return encoded; }