abstract class AvalancheMQ::Exchange
- AvalancheMQ::Exchange
 - Reference
 - Object
 
Included Modules
Direct Known Subclasses
- AvalancheMQ::ConsistentHashExchange
 - AvalancheMQ::DefaultExchange
 - AvalancheMQ::DirectExchange
 - AvalancheMQ::FanoutExchange
 - AvalancheMQ::HeadersExchange
 - AvalancheMQ::TopicExchange
 
Defined in:
avalanchemq/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)
 - #arguments : Hash(String, AMQ::Protocol::Field)
 - #auto_delete : Bool
 - #bind(destination : Queue, routing_key : String, headers : Hash(String, AMQP::Field) | Nil)
 - #bind(destination : Exchange, routing_key : String, headers : Hash(String, AMQP::Field) | Nil)
 - #binding_details(key, destination)
 - #bindings_details
 - #clear_policy
 - #delayed? : Bool
 - #details_tuple
 - #do_exchange_matches(routing_key : String, headers : AMQP::Table | Nil, &blk : Exchange -> _)
 - #do_queue_matches(routing_key : String, headers : AMQP::Table | Nil, &blk : Queue -> _)
 - #durable : Bool
 - #exchange_bindings : Hash({String, Hash(String, AMQ::Protocol::Field)?}, Set(AvalancheMQ::Exchange))
 - #exchange_matches(routing_key : String, headers = nil, &blk : Exchange -> _)
 - #handle_arguments
 - #in_use?
 - #internal : Bool
 - #match?(type, durable, auto_delete, internal, arguments)
 - #match?(frame : AMQP::Frame)
 - #name : String
 - #persistent?
 - #policy : Policy | Nil
 - #publish_in_count : UInt64
 - #publish_in_count=(publish_in_count : UInt64)
 - #publish_out_count : UInt64
 - #publish_out_count=(publish_out_count : UInt64)
 - #queue_bindings : Hash({String, Hash(String, AMQ::Protocol::Field)?}, Set(AvalancheMQ::Queue))
 - #queue_matches(routing_key : String, headers = nil, &blk : Queue -> _)
 - #referenced_sps(referenced_sps) : Nil
 - #stats_details
 - #type : String
 - #unbind(destination : Queue, routing_key : String, headers : Hash(String, AMQP::Field) | Nil)
 - #unbind(destination : Exchange, routing_key : String, headers : Hash(String, AMQP::Field) | Nil)
 - #unroutable_count : UInt64
 - #unroutable_count=(unroutable_count : UInt64)
 - #update_rates
 - #vhost : AvalancheMQ::VHost
 
Instance methods inherited from module Observable
  
  
    
      notify_observers(event : Symbol, data : Object | Nil = nil)
    notify_observers, 
    
  
    
      register_observer(observer : Observer)
    register_observer, 
    
  
    
      unregister_observer(observer : Observer)
    unregister_observer
    
  
    
    
  
    
  Instance methods inherited from module AvalancheMQ::SortableJSON
  
  
    
      details_tuple
    details_tuple, 
    
  
    
      to_json(json : JSON::Builder)
    to_json
    
  
    
    
  
    
    
    
  
    
  Instance methods inherited from module AvalancheMQ::PolicyTarget
  
  
    
      apply_policy(p : Policy)
    apply_policy, 
    
  
    
      clear_policy
    clear_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 : Hash(String, AMQ::Protocol::Field) = Hash(String, AMQP::Field).new)
        #
      
      
      Instance Method Detail
        abstract 
        def bind(destination : Queue, routing_key : String, headers : Hash(String, AMQP::Field) | Nil)
        #
      
      
      
        abstract 
        def bind(destination : Exchange, routing_key : String, headers : Hash(String, AMQP::Field) | Nil)
        #
      
      
      
        abstract 
        def do_exchange_matches(routing_key : String, headers : AMQP::Table | Nil, &blk : Exchange -> _)
        #
      
      
      
        abstract 
        def do_queue_matches(routing_key : String, headers : AMQP::Table | Nil, &blk : Queue -> _)
        #
      
      
      
        
        def exchange_bindings : Hash({String, Hash(String, AMQ::Protocol::Field)?}, Set(AvalancheMQ::Exchange))
        #
      
      
      
        abstract 
        def unbind(destination : Queue, routing_key : String, headers : Hash(String, AMQP::Field) | Nil)
        #