class LavinMQ::AMQP::ConsistentHashExchange

Defined in:

lavinmq/amqp/exchange/consistent_hash.cr

Instance Method Summary

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) : Bool
bind(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

def bind(destination : Destination, routing_key : String, headers : AMQP::Table | 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.

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


def bindings_details : Iterator(BindingDetails) #

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

[View source]
def type : String #

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

[View source]