abstract class LavinMQ::AMQP::Exchange

Included Modules

Direct Known Subclasses

Defined in:

lavinmq/amqp/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 LavinMQ::SortableJSON

details_tuple details_tuple, search_match?(value : String)
search_match?(value : Regex)
search_match?
, to_json(json : JSON::Builder) to_json

Macros inherited from module LavinMQ::Stats

rate_stats(stats_keys, log_keys = [] of ::String) rate_stats

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

Instance methods inherited from module LavinMQ::SortableJSON

details_tuple details_tuple, search_match?(value : String)
search_match?(value : Regex)
search_match?
, to_json(json : JSON::Builder) to_json

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]
def bind(destination : LavinMQ::Destination, routing_key, headers = nil) : Bool #

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

[View source]
abstract def bindings_details : Iterator(BindingDetails) #

[View source]
def clear_policy #

[View source]
def current_stats_details #

Like stats_details but without log


[View source]
def dedup_count : UInt64 #

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

[View source]
def delayed? : Bool #

[View source]
def details_tuple #

[View source]
def do_publish(msg : Message, immediate : Bool, queues : Set(LavinMQ::Queue) = Set(LavinMQ::Queue).new, exchanges : Set(LavinMQ::Exchange) = Set(LavinMQ::Exchange).new) : Int32 #

[View source]
def durable? : Bool #

[View source]
abstract def each_destination(routing_key : String, headers : AMQP::Table | Nil, & : LavinMQ::Destination -> ) #

[View source]
def find_queues(routing_key : String, headers : AMQP::Table | Nil, queues : Set(LavinMQ::Queue) = Set(LavinMQ::Queue).new, exchanges : Set(LavinMQ::Exchange) = Set(LavinMQ::Exchange).new) : Nil #

[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 notify_observers(event : LavinMQ::ExchangeEvent, data : Object | Nil = nil) #

[View source]
def operator_policy : OperatorPolicy | Nil #

[View source]
def policy : Policy | Nil #

[View source]
def publish(msg : Message, immediate : Bool, queues : Set(LavinMQ::Queue) = Set(LavinMQ::Queue).new, exchanges : Set(LavinMQ::Exchange) = Set(LavinMQ::Exchange).new) : Int32 #

[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 register_observer(observer : LavinMQ::Observer(LavinMQ::ExchangeEvent)) #

[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 : AMQP::Destination, routing_key : String, headers : AMQP::Table | Nil) #

[View source]
def unregister_observer(observer : LavinMQ::Observer(LavinMQ::ExchangeEvent)) #

[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]