Class: KubeMQ::Queues::QueueSendResult

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

Overview

Result returned after sending a queue message via KubeMQ::QueuesClient#send_queue_message, KubeMQ::QueuesClient#send_queue_message_stream, or UpstreamSender#publish.

Check #error? to detect failures. On success, timing fields indicate when the message was accepted and any policy-driven delays or expirations.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id:, sent_at: 0, expiration_at: 0, delayed_to: 0, error: nil) ⇒ QueueSendResult

Returns a new instance of QueueSendResult.

Parameters:

  • id (String)

    message identifier

  • sent_at (Integer) (defaults to: 0)

    send timestamp (default: 0)

  • expiration_at (Integer) (defaults to: 0)

    expiration timestamp (default: 0)

  • delayed_to (Integer) (defaults to: 0)

    visibility delay timestamp (default: 0)

  • error (String, nil) (defaults to: nil)

    error description on failure



33
34
35
36
37
38
39
# File 'lib/kubemq/queues/queue_send_result.rb', line 33

def initialize(id:, sent_at: 0, expiration_at: 0, delayed_to: 0, error: nil)
  @id = id
  @sent_at = sent_at
  @expiration_at = expiration_at
  @delayed_to = delayed_to
  @error = error
end

Instance Attribute Details

#delayed_toInteger (readonly)

Returns message visibility timestamp (Unix nanoseconds); 0 if no delay.

Returns:

  • (Integer)

    message visibility timestamp (Unix nanoseconds); 0 if no delay



26
# File 'lib/kubemq/queues/queue_send_result.rb', line 26

attr_reader :id, :sent_at, :expiration_at, :delayed_to, :error

#errorObject (readonly)

Returns the value of attribute error.



26
# File 'lib/kubemq/queues/queue_send_result.rb', line 26

attr_reader :id, :sent_at, :expiration_at, :delayed_to, :error

#expiration_atInteger (readonly)

Returns message expiration timestamp (Unix nanoseconds); 0 if none.

Returns:

  • (Integer)

    message expiration timestamp (Unix nanoseconds); 0 if none



26
# File 'lib/kubemq/queues/queue_send_result.rb', line 26

attr_reader :id, :sent_at, :expiration_at, :delayed_to, :error

#idString (readonly)

Returns message identifier.

Returns:

  • (String)

    message identifier



26
27
28
# File 'lib/kubemq/queues/queue_send_result.rb', line 26

def id
  @id
end

#sent_atInteger (readonly)

Returns broker-assigned send timestamp (Unix nanoseconds).

Returns:

  • (Integer)

    broker-assigned send timestamp (Unix nanoseconds)



26
# File 'lib/kubemq/queues/queue_send_result.rb', line 26

attr_reader :id, :sent_at, :expiration_at, :delayed_to, :error

Instance Method Details

#error?Boolean

Returns whether the send resulted in an error.

Returns:

  • (Boolean)

    true if an error occurred



44
45
46
# File 'lib/kubemq/queues/queue_send_result.rb', line 44

def error?
  !@error.nil? && !@error.empty?
end