Search Options

Display Count
Sort
Preferred Language
Advanced Search

Results 1 - 3 of 3 for SetBlocking (0.06 seconds)

  1. internal/ringbuffer/ring_buffer_test.go

    		t.Fatalf("expect 16 abcd and 4 1234 but got %s. r.w=%d, r.r=%d", rb.Bytes(nil), rb.w, rb.r)
    	}
    }
    
    func TestRingBuffer_WriteBlocking(t *testing.T) {
    	rb := New(64).SetBlocking(true)
    
    	// check empty or full
    	if !rb.IsEmpty() {
    		t.Fatalf("expect IsEmpty is true but got false")
    	}
    	if rb.IsFull() {
    		t.Fatalf("expect IsFull is false but got true")
    	}
    	if rb.Length() != 0 {
    Created: Sun Apr 05 19:28:12 GMT 2026
    - Last Modified: Fri Aug 29 02:39:48 GMT 2025
    - 26.7K bytes
    - Click Count (0)
  2. internal/ringbuffer/ring_buffer.go

    		size: size,
    	}
    }
    
    // NewBuffer returns a new RingBuffer whose buffer is provided.
    func NewBuffer(b []byte) *RingBuffer {
    	return &RingBuffer{
    		buf:  b,
    		size: len(b),
    	}
    }
    
    // SetBlocking sets the blocking mode of the ring buffer.
    // If block is true, Read and Write will block when there is no data to read or no space to write.
    // If block is false, Read and Write will return ErrIsEmpty or ErrIsFull immediately.
    Created: Sun Apr 05 19:28:12 GMT 2026
    - Last Modified: Sun Sep 28 20:59:21 GMT 2025
    - 13.3K bytes
    - Click Count (0)
  3. internal/ringbuffer/ring_buffer_benchmark_test.go

    			rb.Read(buf)
    		}
    	}()
    
    	for b.Loop() {
    		rb.Write(data)
    	}
    }
    
    func BenchmarkRingBuffer_AsyncReadBlocking(b *testing.B) {
    	const sz = 512
    	const buffers = 10
    	rb := New(sz * buffers)
    	rb.SetBlocking(true)
    	data := []byte(strings.Repeat("a", sz))
    	buf := make([]byte, sz)
    
    	go func() {
    		for {
    			rb.Read(buf)
    		}
    	}()
    
    	for b.Loop() {
    		rb.Write(data)
    	}
    }
    
    Created: Sun Apr 05 19:28:12 GMT 2026
    - Last Modified: Fri Aug 29 02:39:48 GMT 2025
    - 1.5K bytes
    - Click Count (0)
Back to Top