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"
-
Log =
LavinMQ::Log.for("vhost")
-
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
- #deliver_get_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
- #queue_bindings(queue : Queue) : Iterator(BindingDetails)
- #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