Revision 91d443f9 kamaki/clients/pithos/__init__.py
b/kamaki/clients/pithos/__init__.py | ||
---|---|---|
66 | 66 |
:returns: (str) a range string cut-off for the start-end range |
67 | 67 |
an empty response means this window is out of range |
68 | 68 |
""" |
69 |
assert start >= 0, '_range_up was called with start < 0' |
|
70 |
assert end >= start, '_range_up was called with end < start' |
|
71 |
assert end <= max_value, '_range_up was called with max_value < end' |
|
69 |
assert start >= 0, '_range_up called w. start(%s) < 0' % start |
|
70 |
assert end >= start, '_range_up called w. end(%s) < start(%s)' % ( |
|
71 |
end, start) |
|
72 |
assert end <= max_value, '_range_up called w. max_value(%s) < end(%s)' % ( |
|
73 |
max_value, end) |
|
72 | 74 |
if not a_range: |
73 | 75 |
return '%s-%s' % (start, end) |
74 | 76 |
selected = [] |
... | ... | |
727 | 729 |
self._cb_next(len(blockids) - len(unsaved)) |
728 | 730 |
if unsaved: |
729 | 731 |
key = unsaved[0] |
730 |
self._watch_thread_limit(flying.values()) |
|
731 |
self._thread2file( |
|
732 |
flying, blockid_dict, local_file, offset, |
|
733 |
**restargs) |
|
734 |
end = total_size - 1 if ( |
|
735 |
key + blocksize > total_size) else key + blocksize - 1 |
|
736 |
data_range = _range_up(key, end, total_size, filerange) |
|
737 |
if not data_range: |
|
738 |
self._cb_next() |
|
739 |
continue |
|
740 |
restargs['async_headers'] = {'Range': 'bytes=%s' % data_range} |
|
741 |
flying[key] = self._get_block_async(obj, **restargs) |
|
742 |
blockid_dict[key] = unsaved |
|
732 |
if key: |
|
733 |
self._watch_thread_limit(flying.values()) |
|
734 |
self._thread2file( |
|
735 |
flying, blockid_dict, local_file, offset, |
|
736 |
**restargs) |
|
737 |
end = total_size - 1 if ( |
|
738 |
key + blocksize > total_size) else key + blocksize - 1 |
|
739 |
data_range = _range_up(key, end, total_size, filerange) |
|
740 |
if not data_range: |
|
741 |
self._cb_next() |
|
742 |
continue |
|
743 |
restargs[ |
|
744 |
'async_headers'] = {'Range': 'bytes=%s' % data_range} |
|
745 |
flying[key] = self._get_block_async(obj, **restargs) |
|
746 |
blockid_dict[key] = unsaved |
|
743 | 747 |
|
744 | 748 |
for thread in flying.values(): |
745 | 749 |
thread.join() |
Also available in: Unified diff