abstract class
LavinMQ::AMQP::Exchange
- LavinMQ::AMQP::Exchange
- LavinMQ::Exchange
- Reference
- Object
Included Modules
- LavinMQ::Observable(LavinMQ::ExchangeEvent)
- LavinMQ::PolicyTarget
- LavinMQ::SortableJSON
- LavinMQ::Stats
Direct Known Subclasses
- LavinMQ::AMQP::ConsistentHashExchange
- LavinMQ::AMQP::DefaultExchange
- LavinMQ::AMQP::DirectExchange
- LavinMQ::AMQP::FanoutExchange
- LavinMQ::AMQP::HeadersExchange
- LavinMQ::AMQP::TopicExchange
- LavinMQ::MQTT::Exchange
Defined in:
lavinmq/amqp/exchange/exchange.crConstant Summary
-
MAX_NAME_LENGTH =
256
-
REPUBLISH_HEADERS =
{"x-head", "x-tail", "x-from"}
Constructors
Instance Method Summary
- #alternate_exchange : String?
- #apply_policy(policy : Policy | Nil, operator_policy : OperatorPolicy | Nil)
- #arguments : AMQ::Protocol::Table
- #auto_delete? : Bool
- #bind(destination : LavinMQ::Destination, routing_key, headers = nil) : Bool
- #bind(destination : AMQP::Destination, routing_key : String, headers : AMQP::Table | Nil)
- #bindings_details : Iterator(BindingDetails)
- #clear_policy
-
#current_stats_details
Like stats_details but without log
- #dedup_count : UInt64
- #dedup_count=(dedup_count : UInt64)
- #delayed? : Bool
- #details_tuple
- #do_publish(msg : Message, immediate : Bool, queues : Set(LavinMQ::Queue) = Set(LavinMQ::Queue).new, exchanges : Set(LavinMQ::Exchange) = Set(LavinMQ::Exchange).new) : Int32
- #durable? : Bool
- #each_destination(routing_key : String, headers : AMQP::Table | Nil, & : LavinMQ::Destination -> )
- #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
- #handle_arguments
- #in_use?
- #internal? : Bool
- #match?(type, durable, auto_delete, internal, arguments)
- #match?(frame : AMQP::Frame)
- #name : String
- #notify_observers(event : LavinMQ::ExchangeEvent, data : Object | Nil = nil)
- #operator_policy : OperatorPolicy | Nil
- #policy : Policy | Nil
- #publish(msg : Message, immediate : Bool, queues : Set(LavinMQ::Queue) = Set(LavinMQ::Queue).new, exchanges : Set(LavinMQ::Exchange) = Set(LavinMQ::Exchange).new) : Int32
- #publish_in_count : UInt64
- #publish_in_count=(publish_in_count : UInt64)
- #publish_out_count : UInt64
- #publish_out_count=(publish_out_count : UInt64)
- #register_observer(observer : LavinMQ::Observer(LavinMQ::ExchangeEvent))
- #stats_details
- #to_json(json : JSON::Builder)
- #type : String
- #unbind(destination : AMQP::Destination, routing_key : String, headers : AMQP::Table | Nil)
- #unregister_observer(observer : LavinMQ::Observer(LavinMQ::ExchangeEvent))
- #unroutable_count : UInt64
- #unroutable_count=(unroutable_count : UInt64)
- #update_rates : Nil
- #vhost : LavinMQ::VHost
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)
#
Instance Method Detail
abstract
def bind(destination : AMQP::Destination, routing_key : String, headers : AMQP::Table | Nil)
#
def do_publish(msg : Message, immediate : Bool, queues : Set(LavinMQ::Queue) = Set(LavinMQ::Queue).new, exchanges : Set(LavinMQ::Exchange) = Set(LavinMQ::Exchange).new) : Int32
#
abstract
def each_destination(routing_key : String, headers : AMQP::Table | Nil, & : LavinMQ::Destination -> )
#
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
#
def publish(msg : Message, immediate : Bool, queues : Set(LavinMQ::Queue) = Set(LavinMQ::Queue).new, exchanges : Set(LavinMQ::Exchange) = Set(LavinMQ::Exchange).new) : Int32
#
abstract
def unbind(destination : AMQP::Destination, routing_key : String, headers : AMQP::Table | Nil)
#