abstract class LavinMQ::Exchange

Included Modules

Direct Known Subclasses

Defined in:

lavinmq/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, 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) #

[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]
abstract def bind(destination : 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 delayed? : Bool #

[View source]
def details_tuple #

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

[View source]
def durable? : Bool #

[View source]
def find_queues(routing_key : String, headers : AMQP::Table | Nil, queues : Set(Queue), exchanges : Set(Exchange) = Set(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(Queue) = Set(Queue).new, exchanges : Set(Exchange) = Set(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 : 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]