exchange

package
v0.0.0-...-72a54ad Latest Latest
Warning

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

Go to latest
Published: May 13, 2018 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EX_TYPE_DIRECT  uint8 = 1
	EX_TYPE_FANOUT  uint8 = 2
	EX_TYPE_TOPIC   uint8 = 3
	EX_TYPE_HEADERS uint8 = 4
)

Variables

View Source
var EXCHANGES_BUCKET_NAME = []byte("exchanges")

Functions

func ExchangeNameToType

func ExchangeNameToType(et string) (uint8, error)

func LoadAllExchanges

func LoadAllExchanges(db *bolt.DB, deleteChan chan *Exchange) (map[string]*Exchange, error)

Types

type Exchange

type Exchange struct {
	gen.ExchangeState

	Closed bool
	// contains filtered or unexported fields
}

func NewExchange

func NewExchange(
	name string,
	extype uint8,
	durable bool,
	autodelete bool,
	internal bool,
	arguments *amqp.Table,
	system bool,
	deleteChan chan *Exchange,
) *Exchange

func NewFromDisk

func NewFromDisk(db *bolt.DB, key string, deleteChan chan *Exchange) (ex *Exchange, err error)

func NewFromDiskBoltTx

func NewFromDiskBoltTx(bucket *bolt.Bucket, key []byte, deleteChan chan *Exchange) (ex *Exchange, err error)

func NewFromExchangeState

func NewFromExchangeState(exState *gen.ExchangeState, deleteChan chan *Exchange) *Exchange

func NewFromMethod

func NewFromMethod(method *amqp.ExchangeDeclare, system bool, exchangeDeleter chan *Exchange) (*Exchange, *amqp.AMQPError)

func (*Exchange) AddBinding

func (exchange *Exchange) AddBinding(b *binding.Binding, connId int64) error

func (*Exchange) BindingsForQueue

func (exchange *Exchange) BindingsForQueue(queueName string) []*binding.Binding

func (*Exchange) Close

func (exchange *Exchange) Close()

func (*Exchange) Depersist

func (exchange *Exchange) Depersist(db *bolt.DB) error

func (*Exchange) EquivalentExchanges

func (ex1 *Exchange) EquivalentExchanges(ex2 *Exchange) bool

func (*Exchange) IsTopic

func (exchange *Exchange) IsTopic() bool

func (*Exchange) MarshalJSON

func (exchange *Exchange) MarshalJSON() ([]byte, error)

func (*Exchange) Persist

func (exchange *Exchange) Persist(db *bolt.DB) error

func (*Exchange) QueuesForPublish

func (exchange *Exchange) QueuesForPublish(msg *amqp.Message) (map[string]bool, *amqp.AMQPError)

func (*Exchange) RemoveBinding

func (exchange *Exchange) RemoveBinding(binding *binding.Binding) error

func (*Exchange) RemoveBindingsForQueue

func (exchange *Exchange) RemoveBindingsForQueue(queueName string)

type ExchangeStateFactory

type ExchangeStateFactory struct{}

func (*ExchangeStateFactory) New

Jump to

Keyboard shortcuts

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