Skip to content

Commit 7e7186a

Browse files
committed
Implement chain style Setters for BufferedChannelQueue.
1 parent bbe6bc8 commit 7e7186a

File tree

3 files changed

+14
-10
lines changed

3 files changed

+14
-10
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -225,9 +225,9 @@ var err error
225225
var result int
226226
var timeout time.Duration
227227

228-
bufferedChannelQueue := NewBufferedChannelQueue[int](3, 10000, 100)
229-
bufferedChannelQueue.SetLoadFromPoolDuration(time.Millisecond / 10)
230-
bufferedChannelQueue.SetFreeNodeHookPoolIntervalDuration(1 * time.Millisecond)
228+
bufferedChannelQueue := NewBufferedChannelQueue[int](3, 10000, 100).
229+
SetLoadFromPoolDuration(time.Millisecond / 10).
230+
SetFreeNodeHookPoolIntervalDuration(1 * time.Millisecond)
231231

232232
err = queue.Offer(1)
233233
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[T]) notifyWorkers() {
577577
}
578578

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

584585
// SetNodeHookPoolSize Set nodeHookPoolSize(the buffering node hooks ideal size)
585-
func (q *BufferedChannelQueue[T]) SetNodeHookPoolSize(size int) {
586+
func (q *BufferedChannelQueue[T]) SetNodeHookPoolSize(size int) *BufferedChannelQueue[T] {
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[T]) SetLoadFromPoolDuration(duration time.Duration) {
592+
func (q *BufferedChannelQueue[T]) SetLoadFromPoolDuration(duration time.Duration) *BufferedChannelQueue[T] {
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[T]) SetFreeNodeHookPoolIntervalDuration(duration time.Duration) {
598+
func (q *BufferedChannelQueue[T]) SetFreeNodeHookPoolIntervalDuration(duration time.Duration) *BufferedChannelQueue[T] {
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 int
264264
var timeout time.Duration
265265

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

271271
// Sync

0 commit comments

Comments
 (0)