class
LavinMQ::AMQP::DirectExchange
Defined in:
lavinmq/amqp/exchange/direct.crInstance Method Summary
-
#bind(destination : Destination, routing_key, headers = nil) : Bool
This macro will find the "bind" method of classes inheriting from this class and redefine them to raise AccessRefused exception if the first argument isn't a type in LavinMQ::AMQP namespace.
- #bindings_details : Iterator(BindingDetails)
- #type : String
- #unbind(destination : Destination, routing_key, headers = nil) : Bool
Instance methods inherited from class LavinMQ::AMQP::Exchange
alternate_exchange : String?
alternate_exchange,
apply_policy(policy : Policy | Nil, operator_policy : OperatorPolicy | Nil)
apply_policy,
arguments : AMQ::Protocol::Table
arguments,
auto_delete? : Bool
auto_delete?,
bind(destination : LavinMQ::Destination, routing_key, headers = nil) : Boolbind(destination : AMQP::Destination, routing_key : String, headers : AMQP::Table | Nil) bind, bindings_details : Iterator(BindingDetails) bindings_details, clear_policy clear_policy, current_stats_details current_stats_details, dedup_count : UInt64 dedup_count, dedup_count=(dedup_count : UInt64) dedup_count=, delayed? : Bool delayed?, details_tuple 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 do_publish, durable? : Bool durable?, each_destination(routing_key : String, headers : AMQP::Table | Nil, & : LavinMQ::Destination -> ) each_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 find_queues, handle_arguments handle_arguments, in_use? in_use?, internal? : Bool internal?, match?(type, durable, auto_delete, internal, arguments)
match?(frame : AMQP::Frame) match?, name : String name, notify_observers(event : LavinMQ::ExchangeEvent, data : Object | Nil = nil) notify_observers, operator_policy : OperatorPolicy | Nil operator_policy, policy : Policy | Nil policy, publish(msg : Message, immediate : Bool, queues : Set(LavinMQ::Queue) = Set(LavinMQ::Queue).new, exchanges : Set(LavinMQ::Exchange) = Set(LavinMQ::Exchange).new) : Int32 publish, publish_in_count : UInt64 publish_in_count, publish_in_count=(publish_in_count : UInt64) publish_in_count=, publish_out_count : UInt64 publish_out_count, publish_out_count=(publish_out_count : UInt64) publish_out_count=, register_observer(observer : LavinMQ::Observer(LavinMQ::ExchangeEvent)) register_observer, stats_details stats_details, to_json(json : JSON::Builder) to_json, type : String type, unbind(destination : AMQP::Destination, routing_key : String, headers : AMQP::Table | Nil) unbind, unregister_observer(observer : LavinMQ::Observer(LavinMQ::ExchangeEvent)) unregister_observer, unroutable_count : UInt64 unroutable_count, unroutable_count=(unroutable_count : UInt64) unroutable_count=, update_rates : Nil update_rates, vhost : LavinMQ::VHost vhost
Constructor methods inherited from class LavinMQ::AMQP::Exchange
new(vhost : VHost, name : String, durable : Bool = false, auto_delete : Bool = false, internal : Bool = false, arguments : AMQ::Protocol::Table = AMQP::Table.new)
new
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
Instance Method Detail
This macro will find the "bind" method of classes inheriting from this class and redefine them to raise AccessRefused exception if the first argument isn't a type in LavinMQ::AMQP namespace.
TODO remove this when LavinMQ::MQTT::Session no longer inherit from LavinMQ::AMQP::Queue and LavinMQ::MQTT::Exchange no longer inherit from lavinMQ::AMQP::Exchange