type LeaseWithTime … type LeaseQueue … func (pq LeaseQueue) Len() int { … } func (pq LeaseQueue) Less(i, j int) bool { … } func (pq LeaseQueue) Swap(i, j int) { … } func (pq *LeaseQueue) Push(x interface{ … } func (pq *LeaseQueue) Pop() interface{ … } type LeaseExpiredNotifier … func newLeaseExpiredNotifier() *LeaseExpiredNotifier { … } func (mq *LeaseExpiredNotifier) Init() { … } func (mq *LeaseExpiredNotifier) RegisterOrUpdate(item *LeaseWithTime) { … } func (mq *LeaseExpiredNotifier) Unregister() *LeaseWithTime { … } func (mq *LeaseExpiredNotifier) Poll() *LeaseWithTime { … } func (mq *LeaseExpiredNotifier) Len() int { … }