def usereid_blocks(blocks, starts, start_block): print() print('USEREID BLOCKS') found_blocks = [] map = cachemgr['m_UEIdObjectCache']['m_map'] for node in std_map_nodes(map): fb = tcstats.bisect_block(int(str(node.address), 16), starts, start_block) found_blocks.append(fb) addr = int( str(node['first']['strExternId']['_M_dataplus']['_M_p'].cast( vopo)), 16) fb = tcstats.bisect_block(addr, starts, start_block) found_blocks.append(fb) addr = int( str(node['second']['strSignature']['_M_dataplus']['_M_p'].cast( vopo)), 16) fb = tcstats.bisect_block(addr, starts, start_block) found_blocks.append(fb) return found_blocks
def store_blocks(blocks, starts, start_block): found_blocks = [] map = cachemgr['m_StoresCache']['m_map'] buckets_ = unordered_map_buckets_(map) fb = tcstats.bisect_block(int(str(buckets_), 16), starts, start_block) found_blocks.append(fb) for node, value in unordered_map_nodevals(map): fb = tcstats.bisect_block(int(str(node), 16), starts, start_block) found_blocks.append(fb) return found_blocks
def _quota_blocks(map, blocks, starts, start_block): found_blocks = [] buckets_ = unordered_map_buckets_(map) if int(str(buckets_.cast(vopo)), 16) == 0: return found_blocks fb = tcstats.bisect_block(int(str(buckets_), 16), starts, start_block) found_blocks.append(fb) for node, value in unordered_map_nodevals(map): fb = tcstats.bisect_block(int(str(node), 16), starts, start_block) found_blocks.append(fb) return found_blocks
def obj_blocks(blocks, starts, start_block): print() print('OBJECTS CACHE') map = cachemgr['m_ObjectsCache']['m_map'] found_blocks = [] buckets_ = unordered_map_buckets_(map) fb = tcstats.bisect_block(int(str(buckets_), 16), starts, start_block) found_blocks.append(fb) for node, value in unordered_map_nodevals(map): fb = tcstats.bisect_block(int(str(node), 16), starts, start_block) found_blocks.append(fb) return found_blocks
def index2_blocks(blocks, starts, start_block): print() print('INDEX2 CACHE') found_blocks = [] map = cachemgr['m_ObjectToPropCache']['m_map'] for node in std_map_nodes(map): fb = tcstats.bisect_block(int(str(node.address), 16), starts, start_block) found_blocks.append(fb) addr = int(str(node['second']['lpData'].cast(vopo)), 16) fb = tcstats.bisect_block(addr, starts, start_block) found_blocks.append(fb) return found_blocks
def cell_blocks(blocks, starts, start_block): print() print('CELL CACHE') map = cachemgr['m_CellCache']['m_map'] found_blocks = [] buckets_ = unordered_map_buckets_(map) fb = tcstats.bisect_block(int(str(buckets_), 16), starts, start_block) found_blocks.append(fb) for node, value in unordered_map_nodevals(map): fb = tcstats.bisect_block(int(str(node), 16), starts, start_block) found_blocks.append(fb) found_blocks.extend( _cell_stdmap_blocks(value['second']['mapPropVals'], starts, start_block)) return found_blocks
def index1_blocks(blocks, starts, start_block): print() print('INDEX1 CACHE') map = cachemgr['m_PropToObjectCache']['m_map'] found_blocks = [] buckets_ = unordered_map_buckets_(map) fb = tcstats.bisect_block(int(str(buckets_), 16), starts, start_block) found_blocks.append(fb) for node, value in unordered_map_nodevals(map): fb = tcstats.bisect_block(int(str(node), 16), starts, start_block) found_blocks.append(fb) addr = value['first']['lpData'].cast(vopo) fb = tcstats.bisect_block(int(str(addr), 16), starts, start_block) found_blocks.append(fb) return found_blocks
def userid_blocks(blocks, starts, start_block): print() print('USEROBJECT CACHE') map = cachemgr['m_UserObjectCache']['m_map'] found_blocks = [] buckets_ = unordered_map_buckets_(map) fb = tcstats.bisect_block(int(str(buckets_), 16), starts, start_block) found_blocks.append(fb) for node, value in unordered_map_nodevals(map): fb = tcstats.bisect_block(int(str(node), 16), starts, start_block) found_blocks.append(fb) for field in ('strExternId', 'strSignature'): addr = value['second'][field]['_M_dataplus']['_M_p'].cast(vopo) fb = tcstats.bisect_block(int(str(addr), 16), starts, start_block) found_blocks.append(fb) return found_blocks
def _cell_stdmap_blocks(map, starts, start_block): global COUNT found_blocks = [] for node in std_map_nodes(map): addr = int(str(node.address), 16) fb = tcstats.bisect_block(addr, starts, start_block) found_blocks.append(fb) COUNT += 1 union = int(node['second']['__union']) if union in (1, 2, 3, 4, 5): pass elif union in (6, 7, 8): # lpszA, hilo, bin addr = int(str(node['second']['Value']['bin']), 16) fb = tcstats.bisect_block(addr, starts, start_block) found_blocks.append(fb) else: print('FOUT', union) fout return found_blocks