abstract class LavinMQ::Exchange
- LavinMQ::Exchange
- Reference
- Object
Included Modules
- LavinMQ::Observable(LavinMQ::ExchangeEvent)
- LavinMQ::PolicyTarget
- LavinMQ::SortableJSON
- LavinMQ::Stats
Direct Known Subclasses
- LavinMQ::ConsistentHashExchange
- LavinMQ::DefaultExchange
- LavinMQ::DirectExchange
- LavinMQ::FanoutExchange
- LavinMQ::HeadersExchange
- LavinMQ::TopicExchange
Defined in:
lavinmq/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 : Destination, routing_key : String, headers : AMQP::Table | Nil)
- #bindings_details : Iterator(BindingDetails)
- #clear_policy
-
#current_stats_details
Like stats_details but without log
- #delayed? : Bool
- #details_tuple
- #do_publish(msg : Message, immediate : Bool, queues : Set(Queue) = Set(Queue).new, exchanges : Set(Exchange) = Set(Exchange).new) : Int32
- #durable? : Bool
- #find_queues(routing_key : String, headers : AMQP::Table | Nil, queues : Set(Queue), exchanges : Set(Exchange) = Set(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(Queue) = Set(Queue).new, exchanges : Set(Exchange) = Set(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 : 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,
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
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 : Destination, routing_key : String, headers : AMQP::Table | Nil)
#
def do_publish(msg : Message, immediate : Bool, queues : Set(Queue) = Set(Queue).new, exchanges : Set(Exchange) = Set(Exchange).new) : Int32
#
def find_queues(routing_key : String, headers : AMQP::Table | Nil, queues : Set(Queue), exchanges : Set(Exchange) = Set(Exchange).new) : Nil
#
def publish(msg : Message, immediate : Bool, queues : Set(Queue) = Set(Queue).new, exchanges : Set(Exchange) = Set(Exchange).new) : Int32
#
abstract
def unbind(destination : Destination, routing_key : String, headers : AMQP::Table | Nil)
#