ms_in_period int
ms_to_timeout int
bucket chan struct{}
+ pre_bucket_token_num int
}
// create a Limit Object
}
}
time.Sleep(time.Duration(object.ms_in_period)*time.Millisecond)
+ object.pre_bucket_token_num = len(object.bucket)
}
}(&object)
return false
}
-// return the token number of bucket
+// return the token number of bucket at now
func (l *Limit) TK() int {
return len(l.bucket)
+}
+
+// return the token number of bucket at previous
+func (l *Limit) PTK() int {
+ return l.pre_bucket_token_num
}
\ No newline at end of file
l.TO()
}
if l.TK() != 50 {t.Error(`5`,l.TK())}
+ time.Sleep(time.Second*3)
+ if l.PTK() != 50 {t.Error(`5`,l.PTK())}
}
\ No newline at end of file