本文整理汇总了Golang中github.com/hashicorp/memberlist.TransmitLimitedQueue.NumQueued方法的典型用法代码示例。如果您正苦于以下问题:Golang TransmitLimitedQueue.NumQueued方法的具体用法?Golang TransmitLimitedQueue.NumQueued怎么用?Golang TransmitLimitedQueue.NumQueued使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/hashicorp/memberlist.TransmitLimitedQueue
的用法示例。
在下文中一共展示了TransmitLimitedQueue.NumQueued方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: checkQueueDepth
// checkQueueDepth periodically checks the size of a queue to see if
// it is too large
func (s *Serf) checkQueueDepth(limit int, name string, queue *memberlist.TransmitLimitedQueue, shutdownCh chan struct{}) {
for {
select {
case <-time.After(time.Second):
numq := queue.NumQueued()
if numq >= limit {
s.logger.Printf("[WARN] %s queue depth: %d", name, numq)
}
case <-shutdownCh:
return
}
}
}
示例2: checkQueueDepth
// checkQueueDepth periodically checks the size of a queue to see if
// it is too large
func (s *Serf) checkQueueDepth(name string, queue *memberlist.TransmitLimitedQueue) {
for {
select {
case <-time.After(time.Second):
numq := queue.NumQueued()
if numq >= s.config.QueueDepthWarning {
s.logger.Printf("[WARN] %s queue depth: %d", name, numq)
}
if numq > s.config.MaxQueueDepth {
s.logger.Printf("[WARN] %s queue depth (%d) exceeds limit (%d), dropping messages!",
name, numq, s.config.MaxQueueDepth)
queue.Prune(s.config.MaxQueueDepth)
}
case <-s.shutdownCh:
return
}
}
}