class LavinMQ::Queue
- LavinMQ::Queue
- Reference
- Object
Included Modules
Direct Known Subclasses
Defined in:
lavinmq/queue/message_store.crlavinmq/queue/queue.cr
Constant Summary
-
Log =
::Log.for("queue")
Constructors
Class Method Summary
Instance Method Summary
- #ack(sp : SegmentPosition) : Nil
-
#ack_count : UInt64
Creates @[x]_count and @[x]_rate and @[y]_log
- #add_consumer(consumer : Client::Channel::Consumer)
- #apply_policy(policy : Policy | Nil, operator_policy : OperatorPolicy | Nil)
- #arguments : AMQ::Protocol::Table
- #auto_delete? : Bool
- #basic_get(no_ack, force = false, & : Envelope -> Nil) : Bool
- #basic_get_unacked : Deque(LavinMQ::UnackedMessage)
- #bindings
- #close : Bool
- #closed? : Bool
-
#confirm_count : UInt64
Creates @[x]_count and @[x]_rate and @[y]_log
-
#consume_get(consumer, & : Envelope -> Nil) : Bool
If nil is returned it means that the delivery limit is reached
- #consumer_count
- #consumer_timeout : UInt64 | Nil
- #consumers : Array(LavinMQ::Client::Channel::Consumer)
-
#current_stats_details
Like stats_details but without log
- #delete : Bool
-
#deliver_count : UInt64
Creates @[x]_count and @[x]_rate and @[y]_log
- #details_tuple
- #durable?
- #empty? : Bool
- #empty_change : Channel(Bool)
- #exclusive? : Bool
-
#get_count : UInt64
Creates @[x]_count and @[x]_rate and @[y]_log
-
#get_no_ack_count : UInt64
Creates @[x]_count and @[x]_rate and @[y]_log
- #has_exclusive_consumer? : Bool
- #has_priority_consumers? : Bool
- #immediate_delivery?
- #in_use?
-
#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.
- #last_get_time : Time::Span
- #match?(durable, exclusive, auto_delete, arguments)
- #match?(frame)
- #message_count
-
#message_count_log : Deque(UInt32)
Creates @[x]_count and @[x]_rate and @[y]_log
- #name : String
- #notify_observers(event : LavinMQ::QueueEvent, data : Object | Nil = nil)
- #operator_policy : OperatorPolicy | Nil
- #pause!
- #paused? : Bool
- #paused_change : Channel(Bool)
- #policy : Policy | Nil
- #publish(msg : Message) : Bool
-
#publish_count : UInt64
Creates @[x]_count and @[x]_rate and @[y]_log
- #purge(max_count : Int = UInt32::MAX) : UInt32
- #purge_and_close_consumers : UInt32
-
#read(sp : SegmentPosition) : Envelope
Used for when channel recovers without requeue eg.
- #redeclare
-
#redeliver_count : UInt64
Creates @[x]_count and @[x]_rate and @[y]_log
- #register_observer(observer : LavinMQ::Observer(LavinMQ::QueueEvent))
- #reject(sp : SegmentPosition, requeue : Bool)
-
#reject_count : UInt64
Creates @[x]_count and @[x]_rate and @[y]_log
- #resume!
-
#return_unroutable_count : UInt64
Creates @[x]_count and @[x]_rate and @[y]_log
- #rm_consumer(consumer : Client::Channel::Consumer)
- #single_active_consumer : Client::Channel::Consumer | Nil
- #single_active_consumer_change : Channel(LavinMQ::Client::Channel::Consumer)
- #state : LavinMQ::QueueState
-
#stats_details
Creates @[x]_count and @[x]_rate and @[y]_log
- #to_json(json : JSON::Builder, consumer_limit : Int32 = -1)
- #unacked_bytesize : UInt64
- #unacked_count : UInt32
-
#unacked_count_log : Deque(UInt32)
Creates @[x]_count and @[x]_rate and @[y]_log
- #unregister_observer(observer : LavinMQ::Observer(LavinMQ::QueueEvent))
-
#update_rates : Nil
Creates @[x]_count and @[x]_rate and @[y]_log
- #vhost : LavinMQ::VHost
Instance methods inherited from module LavinMQ::SortableJSON
details_tuple
details_tuple,
to_json(json : JSON::Builder)
to_json
Macros inherited from module LavinMQ::Stats
rate_stats(stats_keys, log_keys = [] of ::String)
rate_stats
Instance methods inherited from module LavinMQ::PolicyTarget
apply_policy(policy : Policy | Nil, operator_policy : OperatorPolicy | Nil)
apply_policy,
clear_policy
clear_policy,
operator_policy : OperatorPolicy | Nil
operator_policy,
policy : Policy | Nil
policy
Constructor Detail
Class Method Detail
Instance Method Detail
If nil is returned it means that the delivery limit is reached
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>
Used for when channel recovers without requeue eg. redelivers messages it already has unacked