clinci

package module
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Sep 18, 2019 License: MIT Imports: 1 Imported by: 0

README

clinci

RabbitMQ Pub/Sub wrapper for easy to use

Installation

$ go get github.com/ramadani/clinci

Usage

See example

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewEmitter

func NewEmitter(ch *amqp.Channel) *rabbitmqEmitter

func NewWorker

func NewWorker(ch *amqp.Channel) *rabbitmqWorker

Types

type Config

type Config struct {
	Durable    bool
	AutoDelete bool
	AutoAck    bool
	Internal   bool
	NoLocal    bool
	NoWait     bool
	Args       amqp.Table
}

type Configurable

type Configurable interface {
	Name() string
	Config() *Config
}

type Consumer

type Consumer interface {
	Configurable
}

func DefaultConsumer

func DefaultConsumer() Consumer

type Dispatcher

type Dispatcher interface {
	Dispatch(pub Publishable) error
}

type Emitter

type Emitter interface {
	Declare(event Event) error
	DeclareAll(events []Event) error
	Dispatcher
}

type Event

type Event interface {
	Configurable
	Kind() string
}

type EventListener

type EventListener struct {
	Event     Event
	Listeners []Listener
}

type Listener

type Listener interface {
	Task
	Queuer() Queuer
	Consumer() Consumer
}

func CreateFromDefaultListener

func CreateFromDefaultListener(task Task) Listener

type Publishable

type Publishable interface {
	Name() string
	Data() ([]byte, error)
	Routing
}

type Queuer

type Queuer interface {
	SetName(name string)
	Configurable
}

func DefaultQueuer

func DefaultQueuer() Queuer

type Routing

type Routing interface {
	Key() string
}

type Task

type Task interface {
	Routing
	Handle(data []byte) error
}

type Worker

type Worker interface {
	Declare(el *EventListener) error
	DeclareAll(eventListeners []*EventListener) error
	Listen() error
}

Directories

Path Synopsis
example

Jump to

Keyboard shortcuts

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