def __init__(self, config): self._metadata_dict = {} self._data_dict = {} self._config = config self._node_error_state_set = UKAINodeErrorStateSet() self._open_image_set = set() self._rpc_trans = UKAIXMLRPCTranslation()
fh.seek(self._metadata.block_size - 1) fh.write('\0') fh.close() else: remote = xmlrpclib.ServerProxy( 'http://%s:%d/' % (node, self._config.get('core_port'))) remote.proxy_allocate_dataspace(self._metadata.name, self._metadata.block_size, blk_idx) if __name__ == '__main__': from ukai_node_error_state import UKAINodeErrorStateSet ukai_config.set('data_root', './test/local/data') ukai_config.set('metadata_root', './test/local/metadata') ness = UKAINodeErrorStateSet() meta = UKAIMetadata('./test/local/metadata/test') fh = UKAIData(meta, ness) data = 'Hello World!' offset = 0 print 'offset %d' % offset fh.write(data, offset) ver = fh.read(len(data), offset) if ver != data: print 'error at offset %d' % offset offset = meta.block_size - (len(data) / 2) print 'offset %d' % offset fh.write(data, offset) ver = fh.read(len(data), offset)