Class: FreeMessageQueue::BaseQueue

Inherits:
Object
  • Object
show all
Defined in:
lib/fmq/queues/base.rb

Overview

every queue has to have this interface

Constant Summary collapse

INFINITE =

This value is used to decribe that a constraint has no limit e.g.

max_messages = INFINITE

means that there is no limitation for messages (by count)

-1

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(manager) ⇒ BaseQueue

Returns a new instance of BaseQueue.



76
77
78
79
80
81
# File 'lib/fmq/queues/base.rb', line 76

def initialize(manager)
  @manager = manager
  @bytes = 0
  @size = 0
  @max_size = @max_messages = INFINITE
end

Instance Attribute Details

#bytesObject (readonly)

the amount of space that is used by all messages in the queue



71
72
73
# File 'lib/fmq/queues/base.rb', line 71

def bytes
  @bytes
end

#managerObject

QueueManager refrence



64
65
66
# File 'lib/fmq/queues/base.rb', line 64

def manager
  @manager
end

#max_messagesObject

the amount of space that is used by all messages in the queue



71
72
73
# File 'lib/fmq/queues/base.rb', line 71

def max_messages
  @max_messages
end

#max_sizeObject

the amount of space that is used by all messages in the queue



71
72
73
# File 'lib/fmq/queues/base.rb', line 71

def max_size
  @max_size
end

#sizeObject (readonly)

the amount of space that is used by all messages in the queue



71
72
73
# File 'lib/fmq/queues/base.rb', line 71

def size
  @size
end

Instance Method Details

#empty?Boolean

returns true if there is no message in the queue

Returns:

  • (Boolean)


84
85
86
# File 'lib/fmq/queues/base.rb', line 84

def empty?
  size == 0
end