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