go/src/sync/poolqueue.go

type poolDequeue

type eface

const dequeueBits

const dequeueLimit

type dequeueNil

func (d *poolDequeue) unpack(ptrs uint64) (head, tail uint32) {}

func (d *poolDequeue) pack(head, tail uint32) uint64 {}

// pushHead adds val at the head of the queue. It returns false if the
// queue is full. It must only be called by a single producer.
func (d *poolDequeue) pushHead(val any) bool {}

// popHead removes and returns the element at the head of the queue.
// It returns false if the queue is empty. It must only be called by a
// single producer.
func (d *poolDequeue) popHead() (any, bool) {}

// popTail removes and returns the element at the tail of the queue.
// It returns false if the queue is empty. It may be called by any
// number of consumers.
func (d *poolDequeue) popTail() (any, bool) {}

type poolChain

type poolChainElt

func (c *poolChain) pushHead(val any) {}

func (c *poolChain) popHead() (any, bool) {}

func (c *poolChain) popTail() (any, bool) {}