queue

package
v0.0.0-...-8301186 Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2021 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidBlockSize = errors.New("invalid block size")
	ErrInvalidDataSize  = errors.New("invalid block data size : too long")
)

Functions

This section is empty.

Types

type MultiQueue

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

func NewMultiQueue

func NewMultiQueue(shm *model.Mem, size int) (*MultiQueue, error)

func (*MultiQueue) Get

func (multiArray *MultiQueue) Get() ([][]byte, error)

func (*MultiQueue) Save

func (multiArray *MultiQueue) Save(buf []byte) error

type RingQueue

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

一个生产者 & 一个消费者的情况之下 生产者只修改 writeIndex,消费者只修改 readIndex 由此不需要使用 atomic 包操作

func NewRingQueue

func NewRingQueue(shm *model.Mem, size int) (*RingQueue, error)

func (*RingQueue) Get

func (rq *RingQueue) Get() ([][]byte, error)

func (*RingQueue) Save

func (rq *RingQueue) Save(data []byte) error

Jump to

Keyboard shortcuts

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