abstract class LavinMQ::Exchange

Included Modules

Direct Known Subclasses

Defined in:

lavinmq/exchange/exchange.cr

Constant Summary

MAX_NAME_LENGTH = 256
REPUBLISH_HEADERS = {"x-head", "x-tail", "x-from"}

Constructors

Instance Method Summary

Instance methods inherited from module Observable

notify_observers(event : Symbol, data : Object | Nil = nil) notify_observers, register_observer(observer : Observer) register_observer, unregister_observer(observer : Observer) unregister_observer

Instance methods inherited from module LavinMQ::SortableJSON

details_tuple details_tuple, to_json(json : JSON::Builder) to_json

Instance methods inherited from module LavinMQ::PolicyTarget

apply_policy(policy : Policy | Nil, operator_policy : OperatorPolicy | Nil) apply_policy, clear_policy clear_policy, operator_policy : OperatorPolicy | Nil operator_policy, policy : Policy | Nil policy

Constructor Detail

def self.new(vhost : VHost, name : String, durable : Bool = false, auto_delete : Bool = false, internal : Bool = false, arguments : AMQ::Protocol::Table = AMQP::Table.new) #

[View source]

Instance Method Detail

def alternate_exchange : String? #

[View source]
def apply_policy(policy : Policy | Nil, operator_policy : OperatorPolicy | Nil) #

[View source]
def arguments : AMQ::Protocol::Table #

[View source]
def auto_delete? : Bool #

[View source]
abstract def bind(destination : Queue, routing_key : String, headers : AMQP::Table | Nil) #

[View source]
abstract def bind(destination : Exchange, routing_key : String, headers : AMQP::Table | Nil) #

[View source]
def binding_details(key, destination) #

[View source]
def bindings_details #

[View source]
def clear_policy #

[View source]
def current_stats_details #

Like stats_details but without log


[View source]
def delayed? : Bool #

[View source]
def details_tuple #

[View source]
abstract def do_exchange_matches(routing_key : String, headers : AMQP::Table | Nil, & : Exchange -> _) #

[View source]
abstract def do_queue_matches(routing_key : String, headers : AMQP::Table | Nil, & : Queue -> _) #

[View source]
def durable? : Bool #

[View source]
def exchange_bindings : Hash({String, AMQ::Protocol::Table?}, Set(LavinMQ::Exchange)) #

[View source]
def exchange_matches(routing_key : String, headers = nil, &blk : Exchange -> _) #

[View source]
def handle_arguments #

[View source]
def in_use? #

[View source]
def internal? : Bool #

[View source]
def match?(type, durable, auto_delete, internal, arguments) #

[View source]
def match?(frame : AMQP::Frame) #

[View source]
def name : String #

[View source]
def operator_policy : OperatorPolicy | Nil #

[View source]
def policy : Policy | Nil #

[View source]
def publish_in_count : UInt64 #

[View source]
def publish_in_count=(publish_in_count : UInt64) #

[View source]
def publish_out_count : UInt64 #

[View source]
def publish_out_count=(publish_out_count : UInt64) #

[View source]
def queue_bindings : Hash({String, AMQ::Protocol::Table?}, Set(LavinMQ::Queue)) #

[View source]
def queue_matches(routing_key : String, headers = nil, &blk : Queue -> _) #

[View source]
def stats_details #

[View source]
def to_json(json : JSON::Builder) #

[View source]
abstract def type : String #

[View source]
abstract def unbind(destination : Queue, routing_key : String, headers : AMQP::Table | Nil) #

[View source]
abstract def unbind(destination : Exchange, routing_key : String, headers : AMQP::Table | Nil) #

[View source]
def unroutable_count : UInt64 #

[View source]
def unroutable_count=(unroutable_count : UInt64) #

[View source]
def update_rates : Nil #

[View source]
def vhost : LavinMQ::VHost #

[View source]