queue

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Nov 25, 2022 License: AGPL-3.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Info

type Info struct {
	Name  string
	Queue Queue
}

type JSON

type JSON = json.RawMessage

type MemoryQueue

type MemoryQueue struct {
	Queue chan JSON
}

func NewMemoryQueue

func NewMemoryQueue() *MemoryQueue

func (*MemoryQueue) Read

func (m *MemoryQueue) Read() (JSON, error)

func (*MemoryQueue) Write

func (m *MemoryQueue) Write(item JSON) error

type MemoryService

type MemoryService struct {
	Queues      map[string]Queue // todo: replace by sync.Map
	QueuesMutex sync.RWMutex
}

func NewMemoryService

func NewMemoryService() *MemoryService

func (*MemoryService) CreateQueue

func (m *MemoryService) CreateQueue(name string) (Queue, error)

func (*MemoryService) DeleteQueue

func (m *MemoryService) DeleteQueue(name string) error

func (*MemoryService) GetQueue

func (m *MemoryService) GetQueue(name string) (Queue, error)

func (*MemoryService) ListQueues

func (m *MemoryService) ListQueues() ([]string, error)

type Queue

type Queue interface {
	Write(JSON) error
	Read() (JSON, error)
}

type Service

type Service interface {
	GetQueue(name string) (Queue, error)
	ListQueues() ([]string, error)
	CreateQueue(name string) (Queue, error)
	DeleteQueue(name string) error
}

Jump to

Keyboard shortcuts

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