MCPcopy Create free account
hub / github.com/alibaba/GraphScope / __iter__

Method __iter__

python/graphscope/nx/classes/cache.py:214–242  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

212
213 @clear_mutation_cache
214 def __iter__(self):
215 iter_n = 0
216 while True:
217 if iter_n >= self._len:
218 break
219 if iter_n == 0 and len(self.node_id_cache) > 0:
220 iter_n += len(self.node_id_cache)
221 else:
222 self.iter_pre_gid = self.iter_gid
223 if self.enable_iter_cache:
224 self.iter_gid, node_size, self.node_id_cache = self.futures[
225 "node_id"
226 ].result()
227 if self.iter_gid != self.iter_pre_gid:
228 self._async_fetch_node_id_cache(self.iter_gid)
229 else:
230 (
231 self.iter_gid,
232 node_size,
233 self.node_id_cache,
234 ) = self._get_node_id_cache(self.iter_gid)
235 iter_n += node_size
236 self.id2i.clear()
237 self.node_attr_align = False
238 self.succ_align = False
239 self.succ_attr_align = False
240 self.pred_align = False
241 self.pred_attr_align = False
242 yield from self.node_id_cache
243
244 def shutdown(self):
245 for _, future in self.futures.items():

Callers

nothing calls this directly

Calls 3

_get_node_id_cacheMethod · 0.95
clearMethod · 0.65

Tested by

no test coverage detected