Skip to content

Commit b1c6601

Browse files
committed
Implement chain style Setters for BufferedChannelQueue.
1 parent 5a19220 commit b1c6601

File tree

3 files changed

+15
-10
lines changed

3 files changed

+15
-10
lines changed

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -200,9 +200,10 @@ var err error
200200
var result interface{}
201201
var timeout time.Duration
202202

203-
bufferedChannelQueue := NewBufferedChannelQueue(3, 10000, 100)
204-
bufferedChannelQueue.SetLoadFromPoolDuration(time.Millisecond / 10)
205-
bufferedChannelQueue.SetFreeNodeHookPoolIntervalDuration(1 * time.Millisecond)
203+
bufferedChannelQueue := NewBufferedChannelQueue(3, 10000, 100).
204+
SetLoadFromPoolDuration(time.Millisecond / 10).
205+
SetFreeNodeHookPoolIntervalDuration(1 * time.Millisecond)
206+
206207

207208
err = queue.Offer(1)
208209
err = queue.Offer(2)

queue.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -577,23 +577,27 @@ func (q *BufferedChannelQueue) notifyWorkers() {
577577
}
578578

579579
// SetBufferSizeMaximum Set MaximumBufferSize(maximum number of buffered items outside the ChannelQueue)
580-
func (q *BufferedChannelQueue) SetBufferSizeMaximum(size int) {
580+
func (q *BufferedChannelQueue) SetBufferSizeMaximum(size int) *BufferedChannelQueue {
581581
q.bufferSizeMaximum = size
582+
return q
582583
}
583584

584585
// SetNodeHookPoolSize Set nodeHookPoolSize(the buffering node hooks ideal size)
585-
func (q *BufferedChannelQueue) SetNodeHookPoolSize(size int) {
586+
func (q *BufferedChannelQueue) SetNodeHookPoolSize(size int) *BufferedChannelQueue {
586587
q.nodeHookPoolSize = size
588+
return q
587589
}
588590

589591
// SetLoadFromPoolDuration Set loadFromPoolDuration(the interval to take buffered items into the ChannelQueue)
590-
func (q *BufferedChannelQueue) SetLoadFromPoolDuration(duration time.Duration) {
592+
func (q *BufferedChannelQueue) SetLoadFromPoolDuration(duration time.Duration) *BufferedChannelQueue {
591593
q.loadFromPoolDuration = duration
594+
return q
592595
}
593596

594597
// SetFreeNodeHookPoolIntervalDuration Set freeNodeHookPoolIntervalDuration(the interval to clear buffering node hooks down to nodeHookPoolSize)
595-
func (q *BufferedChannelQueue) SetFreeNodeHookPoolIntervalDuration(duration time.Duration) {
598+
func (q *BufferedChannelQueue) SetFreeNodeHookPoolIntervalDuration(duration time.Duration) *BufferedChannelQueue {
596599
q.freeNodeHookPoolIntervalDuration = duration
600+
return q
597601
}
598602

599603
// Close Close the Handler

queue_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -263,9 +263,9 @@ func TestNewBufferedChannelQueue(t *testing.T) {
263263
var result interface{}
264264
var timeout time.Duration
265265

266-
bufferedChannelQueue := NewBufferedChannelQueue(3, 10000, 100)
267-
bufferedChannelQueue.SetLoadFromPoolDuration(time.Millisecond / 10)
268-
bufferedChannelQueue.SetFreeNodeHookPoolIntervalDuration(1 * time.Millisecond)
266+
bufferedChannelQueue := NewBufferedChannelQueue(3, 10000, 100).
267+
SetLoadFromPoolDuration(time.Millisecond / 10).
268+
SetFreeNodeHookPoolIntervalDuration(1 * time.Millisecond)
269269
queue = bufferedChannelQueue
270270

271271
// Sync

0 commit comments

Comments
 (0)