def set_up_policy(self, group_by): """Setup policy structure and basic callbacks.""" self.bucket_policies = [] self.groupby_filter = LimitFilter(1,group_by) self.fb = FwdBucket() # fb sees first packet of each new grouping self.fb.register_callback(self.groupby_filter.update_policy) self.fb.register_callback(self.init_countbucket) super(counts,self).__init__(self.groupby_filter >> self.fb)
def __init__(self, limit=None, group_by=[]): self.fb = FwdBucket() self.register_callback = self.fb.register_callback if limit is None: super(packets, self).__init__(self.fb) else: self.limit_filter = LimitFilter(limit, group_by) self.fb.register_callback(self.limit_filter.update_policy) super(packets, self).__init__(self.limit_filter >> self.fb)