Revision fda50d75 snf-pithos-backend/pithos/backends/lib/hashfiler/mapper.py
b/snf-pithos-backend/pithos/backends/lib/hashfiler/mapper.py | ||
---|---|---|
31 | 31 |
# interpreted as representing official policies, either expressed |
32 | 32 |
# or implied, of GRNET S.A. |
33 | 33 |
|
34 |
from filemapper import FileMapper
|
|
34 |
from archipelagomapper import ArchipelagoMapper
|
|
35 | 35 |
|
36 | 36 |
|
37 | 37 |
class Mapper(object): |
... | ... | |
41 | 41 |
""" |
42 | 42 |
|
43 | 43 |
def __init__(self, **params): |
44 |
self.rmap = None |
|
45 |
try: |
|
46 |
if params['mappool']: |
|
47 |
from radosmapper import RadosMapper |
|
48 |
self.rmap = RadosMapper(**params) |
|
49 |
except KeyError: |
|
50 |
pass |
|
51 |
|
|
52 |
self.fmap = FileMapper(**params) |
|
44 |
self.archip_map = ArchipelagoMapper(**params) |
|
53 | 45 |
|
54 | 46 |
def map_retr(self, maphash, blkoff=0, nr=100000000000000): |
55 | 47 |
"""Return as a list, part of the hashes map of an object |
56 | 48 |
at the given block offset. |
57 | 49 |
By default, return the whole hashes map. |
58 | 50 |
""" |
59 |
return self.fmap.map_retr(maphash, blkoff, nr) |
|
51 |
return self.archip_map.map_retr(maphash, blkoff, nr) |
|
52 |
|
|
53 |
def map_retr_archipelago(self, maphash, size): |
|
54 |
"""Return as a list the hashes map of an Archipelago |
|
55 |
Volume. |
|
56 |
""" |
|
57 |
return self.archip_map.map_retr_archipelago(maphash, size) |
|
60 | 58 |
|
61 | 59 |
def map_stor(self, maphash, hashes=(), blkoff=0, create=1): |
62 | 60 |
"""Store hashes in the given hashes map.""" |
63 |
if self.rmap: |
|
64 |
self.rmap.map_stor(maphash, hashes, blkoff, create) |
|
65 |
self.fmap.map_stor(maphash, hashes, blkoff, create) |
|
61 |
self.archip_map.map_stor(maphash, hashes, blkoff, create) |
Also available in: Unified diff