Browse Source

returning the number of stored bytes in store() and adding cleanup() method

remotes/origin/stable6
Thomas Müller 12 years ago
parent
commit
16ef5a8b35
  1. 23
      lib/filechunking.php

23
lib/filechunking.php

@ -34,10 +34,19 @@ class OC_FileChunking {
return $this->cache;
}
/**
* Stores the given $data under the given $key - the number of stored bytes is returned
*
* @param $index
* @param $data
* @return int
*/
public function store($index, $data) {
$cache = $this->getCache();
$name = $this->getPrefix().$index;
$cache->set($name, $data);
return $cache->size($name);
}
public function isComplete() {
@ -58,12 +67,24 @@ class OC_FileChunking {
$count = 0;
for($i=0; $i < $this->info['chunkcount']; $i++) {
$chunk = $cache->get($prefix.$i);
$cache->remove($prefix.$i);
$count += fwrite($f, $chunk);
}
$this->cleanup();
return $count;
}
/**
* Removes all chunks which belong to this transmission
*/
public function cleanup() {
$cache = $this->getCache();
$prefix = $this->getPrefix();
for($i=0; $i < $this->info['chunkcount']; $i++) {
$cache->remove($prefix.$i);
}
}
public function signature_split($orgfile, $input) {
$info = unpack('n', fread($input, 2));
$blocksize = $info[1];

Loading…
Cancel
Save