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
-
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.
- #queue_bindings(queue : Queue)
- #queues : Hash(String, AvalancheMQ::Queue)
- #segment_file(id : UInt32) : MFile
- #send_publish_confirms
- #shovels
- #stop_shovels
- #stop_upstream_links
- #trigger_gc!
- #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