class LavinMQ::VHost
 
  - LavinMQ::VHost
 - Reference
 - Object
 
Included Modules
Defined in:
lavinmq/vhost.crConstant Summary
- 
        FEDERATION_UPSTREAM = 
"federation-upstream" - 
        FEDERATION_UPSTREAM_SET = 
"federation-upstream-set" - 
        SHOVEL = 
"shovel" 
Constructors
Instance Method Summary
- #ack_count : UInt64
 - #add_connection(client : Client)
 - #add_operator_policy(name : String, pattern : String, apply_to : String, definition : Hash(String, JSON::Any), priority : Int8) : OperatorPolicy
 - #add_parameter(p : Parameter)
 - #add_policy(name : String, pattern : String, apply_to : String, definition : Hash(String, JSON::Any), priority : Int8) : 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)
 - #channel_closed_count : UInt64
 - #channel_created_count : UInt64
 - #close(reason = "Broker shutdown")
 - #closed? : Bool
 - #confirm_count : UInt64
 - #connection_closed_count : UInt64
 - #connection_created_count : UInt64
 - #connections : Array(LavinMQ::Client)
 - #consumer_added_count : UInt64
 - #consumer_removed_count : UInt64
 - 
        #current_stats_details
        
          
Like stats_details but without log
 - #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)
 - #delete
 - #delete_exchange(name)
 - #delete_operator_policy(name)
 - #delete_parameter(component_name, parameter_name)
 - #delete_policy(name)
 - #delete_queue(name)
 - #deliver_count : UInt64
 - #details_tuple
 - #dir : String
 - #direct_reply_consumers : Hash(String, LavinMQ::Client::Channel)
 - #event_tick(event_type)
 - #exchanges : Hash(String, LavinMQ::Exchange)
 - #flow=(flow : Bool)
 - #flow? : Bool
 - #get_count : UInt64
 - 
        #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.
 - #max_connections : Int32 | Nil
 - #max_connections=(value : Int32) : Nil
 - #max_connections=(max_connections : Int32 | Nil)
 - #max_queues : Int32 | Nil
 - #max_queues=(value : Int32) : Nil
 - #max_queues=(max_queues : Int32 | Nil)
 - #message_details
 - #name : String
 - #operator_policies : LavinMQ::ParameterStore(LavinMQ::OperatorPolicy)
 - #parameters : LavinMQ::ParameterStore(LavinMQ::Parameter)
 - #policies : LavinMQ::ParameterStore(LavinMQ::Policy)
 - 
        #publish(msg : Message, immediate = false, visited = Set(Exchange).new, found_queues = Set(Queue).new) : Bool
        
          
Queue#publish can raise RejectPublish which should trigger a Nack.
 - #publish_count : UInt64
 - #purge_queues_and_close_consumers(backup_data : Bool, suffix : String)
 - #queue_bindings(queue : Queue)
 - #queue_declared_count : UInt64
 - #queue_deleted_count : UInt64
 - #queues : Hash(String, LavinMQ::Queue)
 - #redeliver_count : UInt64
 - #reject_count : UInt64
 - #rm_connection(client : Client)
 - #shovels
 - #stats_details
 - #stop_shovels
 - #stop_upstream_links
 - #sync : Nil
 - #unbind_exchange(destination, source, routing_key, arguments = AMQP::Table.new)
 - #unbind_queue(destination, source, routing_key, arguments = AMQP::Table.new)
 - #update_rates : Nil
 - #upstreams
 - #users : LavinMQ::UserStore
 
Macros inherited from module LavinMQ::Stats
  
  
    
      rate_stats(stats_keys, log_keys = [] of ::String)
    rate_stats
    
  
  
    
  Instance methods inherited from module LavinMQ::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 The position of the msg.body_io should be at the start of the body When this method finishes, the position will be the same, start of the body