ringbuffer

package
v1.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2022 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type RingBuffer

type RingBuffer struct {
	// contains filtered or unexported fields
}

func NewRingBuffer

func NewRingBuffer(size, maxSize int) *RingBuffer

参数必须是2的指数倍

func (*RingBuffer) Cache

func (r *RingBuffer) Cache() []bufCache

func (*RingBuffer) Pop

func (r *RingBuffer) Pop() (rs interface{})

func (*RingBuffer) Put

func (r *RingBuffer) Put(v interface{})

type SingleRingBuffer

type SingleRingBuffer struct {
	// contains filtered or unexported fields
}

这里是单线程使用的,无锁

func NewSingleRingBuffer

func NewSingleRingBuffer(size, maxSize int) *SingleRingBuffer

参数必须是2的指数倍

func (*SingleRingBuffer) Pop

func (s *SingleRingBuffer) Pop() interface{}

func (*SingleRingBuffer) Put

func (s *SingleRingBuffer) Put(value interface{})

放入队列,如果满了,会扩容

func (*SingleRingBuffer) Size

func (s *SingleRingBuffer) Size() int

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL