Class: KubeMQ::Queues::QueueMessageAttributes

Inherits:
Object
  • Object
show all
Defined in:
lib/kubemq/queues/queue_message_received.rb

Overview

Server-assigned attributes attached to a received queue message.

Contains delivery metadata such as receive count, routing history, and timing information. Access via KubeMQ::Queues::QueueMessageReceived#attributes.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(timestamp: 0, sequence: 0, md5_of_body: '', receive_count: 0, re_routed: false, re_routed_from_queue: '', expiration_at: 0, delayed_to: 0) ⇒ QueueMessageAttributes

Returns a new instance of QueueMessageAttributes.

Parameters:

  • timestamp (Integer) (defaults to: 0)

    broker timestamp (default: 0)

  • sequence (Integer) (defaults to: 0)

    broker sequence number (default: 0)

  • md5_of_body (String) (defaults to: '')

    MD5 hash of body (default: "")

  • receive_count (Integer) (defaults to: 0)

    delivery count (default: 0)

  • re_routed (Boolean) (defaults to: false)

    whether re-routed (default: false)

  • re_routed_from_queue (String) (defaults to: '')

    original queue if re-routed (default: "")

  • expiration_at (Integer) (defaults to: 0)

    expiration timestamp (default: 0)

  • delayed_to (Integer) (defaults to: 0)

    delay timestamp (default: 0)



39
40
41
42
43
44
45
46
47
48
49
# File 'lib/kubemq/queues/queue_message_received.rb', line 39

def initialize(timestamp: 0, sequence: 0, md5_of_body: '', receive_count: 0,
               re_routed: false, re_routed_from_queue: '', expiration_at: 0, delayed_to: 0)
  @timestamp = timestamp
  @sequence = sequence
  @md5_of_body = md5_of_body
  @receive_count = receive_count
  @re_routed = re_routed
  @re_routed_from_queue = re_routed_from_queue
  @expiration_at = expiration_at
  @delayed_to = delayed_to
end

Instance Attribute Details

#delayed_toObject (readonly)

Returns the value of attribute delayed_to.



28
29
# File 'lib/kubemq/queues/queue_message_received.rb', line 28

attr_reader :timestamp, :sequence, :md5_of_body, :receive_count,
:re_routed, :re_routed_from_queue, :expiration_at, :delayed_to

#expiration_atInteger (readonly)

Returns expiration timestamp (Unix nanoseconds); 0 if no expiration.

Returns:

  • (Integer)

    expiration timestamp (Unix nanoseconds); 0 if no expiration



28
29
# File 'lib/kubemq/queues/queue_message_received.rb', line 28

attr_reader :timestamp, :sequence, :md5_of_body, :receive_count,
:re_routed, :re_routed_from_queue, :expiration_at, :delayed_to

#md5_of_bodyString (readonly)

Returns MD5 hash of the message body.

Returns:

  • (String)

    MD5 hash of the message body



28
29
# File 'lib/kubemq/queues/queue_message_received.rb', line 28

attr_reader :timestamp, :sequence, :md5_of_body, :receive_count,
:re_routed, :re_routed_from_queue, :expiration_at, :delayed_to

#re_routedBoolean (readonly)

Returns whether this message was re-routed from another queue.

Returns:

  • (Boolean)

    whether this message was re-routed from another queue



28
29
# File 'lib/kubemq/queues/queue_message_received.rb', line 28

attr_reader :timestamp, :sequence, :md5_of_body, :receive_count,
:re_routed, :re_routed_from_queue, :expiration_at, :delayed_to

#re_routed_from_queueString (readonly)

Returns original queue channel if re-routed.

Returns:

  • (String)

    original queue channel if re-routed



28
29
# File 'lib/kubemq/queues/queue_message_received.rb', line 28

attr_reader :timestamp, :sequence, :md5_of_body, :receive_count,
:re_routed, :re_routed_from_queue, :expiration_at, :delayed_to

#receive_countInteger (readonly)

Returns number of times this message has been delivered.

Returns:

  • (Integer)

    number of times this message has been delivered



28
29
# File 'lib/kubemq/queues/queue_message_received.rb', line 28

attr_reader :timestamp, :sequence, :md5_of_body, :receive_count,
:re_routed, :re_routed_from_queue, :expiration_at, :delayed_to

#sequenceInteger (readonly)

Returns broker-assigned sequence number.

Returns:

  • (Integer)

    broker-assigned sequence number



28
29
# File 'lib/kubemq/queues/queue_message_received.rb', line 28

attr_reader :timestamp, :sequence, :md5_of_body, :receive_count,
:re_routed, :re_routed_from_queue, :expiration_at, :delayed_to

#timestampInteger (readonly)

Returns broker-assigned timestamp (Unix nanoseconds).

Returns:

  • (Integer)

    broker-assigned timestamp (Unix nanoseconds)



28
29
30
# File 'lib/kubemq/queues/queue_message_received.rb', line 28

def timestamp
  @timestamp
end