MCPcopy Create free account
hub / github.com/FDio/vpp / refresh

Method refresh

src/vpp-api/python/vpp_papi/vpp_stats.py:198–218  ·  view source on GitHub ↗

Refresh directory vector cache (epoch changed)

(self, blocking=True)

Source from the content-addressed store, hash-verified

196 elementfmt = "IQ128s"
197
198 def refresh(self, blocking=True):
199 """Refresh directory vector cache (epoch changed)"""
200 directory = {}
201 directory_by_idx = {}
202 while True:
203 try:
204 with self.lock:
205 self.last_epoch = self.epoch
206 for i, direntry in enumerate(
207 StatsVector(self, self.directory_vector, self.elementfmt)
208 ):
209 path_raw = direntry[2].find(b"\x00")
210 path = direntry[2][:path_raw].decode("ascii")
211 directory[path] = StatsEntry(direntry[0], direntry[1])
212 directory_by_idx[i] = path
213 self.directory = directory
214 self.directory_by_idx = directory_by_idx
215 return
216 except IOError:
217 if not blocking:
218 raise
219
220 def __getitem__(self, item, blocking=True):
221 if not self.connected:

Callers 4

connectMethod · 0.95
__getitem__Method · 0.95
lsMethod · 0.95
get_ring_bufferMethod · 0.95

Calls 3

StatsVectorClass · 0.85
StatsEntryClass · 0.85
findMethod · 0.45

Tested by

no test coverage detected