def append(self, infostruct): print "length of self is", len(self) newpos = len(self) offset = (infostruct.struct_size() * newpos) + self.kcp.ai.MemoryInfo['MemDescPtr'] newpoker = BitPoker.new_with_poker(self.kcp.poker, offset) infostruct.set_poker(newpoker) self.items[newpos] = infostruct self.kcp.ai.MemoryInfo['n'] = newpos + 1
def append(self, infostruct): print "length of self is", len(self) newpos = len(self) offset = (infostruct.struct_size() * newpos) + self.kcp.ai.MemoryInfo['MemDescPtr'] newpoker = BitPoker.new_with_poker(self.kcp.poker, offset) infostruct.set_poker(newpoker) self.items[newpos] = infostruct self.kcp.ai.MemoryInfo['n'] = newpos + 1
def __getitem__(self, key): if key == self.kcp.ai.MemoryInfo['n']: raise StopIteration() assert key >= 0 and key < self.kcp.ai.MemoryInfo['n'] if key in self.items: return self.items[key] # Return the cached copy else: newitem = KCPMeminfoStruct(word_size_in_bits = self.kcp.word_size_in_bits) offset = (newitem.struct_size() * key) + self.kcp.ai.MemoryInfo['MemDescPtr'] newpoker = BitPoker.new_with_poker(self.kcp.poker, offset) newitem.read_from_poker(newpoker) self.items[key] = newitem return newitem
def __getitem__(self, key): if key == self.kcp.ai.MemoryInfo['n']: raise StopIteration() assert key >= 0 and key < self.kcp.ai.MemoryInfo['n'] if key in self.items: return self.items[key] # Return the cached copy else: newitem = KCPMeminfoStruct( word_size_in_bits=self.kcp.word_size_in_bits) offset = (newitem.struct_size() * key) + self.kcp.ai.MemoryInfo['MemDescPtr'] newpoker = BitPoker.new_with_poker(self.kcp.poker, offset) newitem.read_from_poker(newpoker) self.items[key] = newitem return newitem