class AvalancheMQ::VHost
- AvalancheMQ::VHost
 - Reference
 - Object
 
Included Modules
Defined in:
avalanchemq/vhost.cravalanchemq/vhost/priority_queue.cr
avalanchemq/vhost/referenced_sps.cr
avalanchemq/vhost/spqueue.cr
Constant Summary
- 
        EXCHANGE_TYPES = 
["direct", "fanout", "topic", "headers", "x-federation-upstream", "x-delayed-message", "x-consistent-hash"] of ::String - 
        FEDERATION_UPSTREAM = 
"federation-upstream" - 
        FEDERATION_UPSTREAM_SET = 
"federation-upstream-set" - 
        SHOVEL = 
"shovel" 
Constructors
Instance Method Summary
- #add_connection(client : Client)
 - #add_parameter(p : Parameter)
 - #add_policy(name : String, pattern : Regex, apply_to : Policy::Target, definition : Hash(String, JSON::Any), priority : Int8)
 - #add_policy(p : Policy)
 - 
        #apply(f, loading = false) : Bool
        
          
ameba:disable Metrics/CyclomaticComplexity
 - #bind_exchange(destination, source, routing_key, arguments = AMQP::Table.new)
 - #bind_queue(destination, source, routing_key, arguments = AMQP::Table.new)
 - #close(seamless_restart = false, reason = "Broker shutdown")
 - #closed? : Bool
 - #connections : Array(AvalancheMQ::Client)
 - #consumers
 - #data_dir : String
 - #declare_exchange(name, type, durable, auto_delete, internal = false, arguments = AMQP::Table.new)
 - #declare_queue(name, durable, auto_delete, arguments = AMQP::Table.new)
 - #default_user : AvalancheMQ::User
 - #delete
 - #delete_exchange(name)
 - #delete_parameter(component_name, parameter_name)
 - #delete_policy(name)
 - #delete_queue(name)
 - #details_tuple
 - #dir : String
 - #direct_reply_channels : Hash(String, AvalancheMQ::Client::Channel)
 - #dirty=(dirty : Bool)
 - #dirty? : Bool
 - #exchanges : Hash(String, AvalancheMQ::Exchange)
 - #flow=(flow : Bool)
 - #flow? : Bool
 - #fsync
 - 
        #inspect(io : IO)
        
          
Appends a String representation of this object which includes its class name, its object address and the values of all instance variables.
 - #log : Logger
 - #message_details
 - #name : String
 - #parameters : AvalancheMQ::ParameterStore(AvalancheMQ::Parameter)
 - #policies : AvalancheMQ::ParameterStore(AvalancheMQ::Policy)
 - 
        #publish(msg : Message, immediate = false, visited = Set(Exchange).new, found_queues = Set(Queue).new, confirm = false) : Bool
        
          
Queue#publish can raise RejectPublish which should trigger a Nack.
 - #queues : Hash(String, AvalancheMQ::Queue)
 - #segment_file(id : UInt32) : MFile
 - #send_publish_confirms
 - #shovels
 - #stop_shovels
 - #stop_upstream_links
 - #unbind_exchange(destination, source, routing_key, arguments = AMQP::Table.new)
 - #unbind_queue(destination, source, routing_key, arguments = AMQP::Table.new)
 - #upstreams
 - #waiting4confirm(channel)
 
Instance methods inherited from module AvalancheMQ::SortableJSON
  
  
    
      details_tuple
    details_tuple, 
    
  
    
      to_json(json : JSON::Builder)
    to_json
    
  
    
    
  
    
    
    
  
    
    
    
  
Constructor Detail
Instance Method Detail
Appends a String representation of this object which includes its class name, its object address and the values of all instance variables.
class Person
  def initialize(@name : String, @age : Int32)
  end
end
Person.new("John", 32).inspect # => #<Person:0x10fd31f20 @name="John", @age=32>
        Queue#publish can raise RejectPublish which should trigger a Nack. All other confirm scenarios should be Acks, apart from Exceptions. As long as at least one queue reject the publish due to overflow a Nack should be sent, even if other queues accepts the message. Behaviour confirmed with RabbitMQ. True if it also succesfully wrote to one or more queues False if no queue was able to receive the message because they're closed