Class: KubeMQ::Queues::QueueMessage
- Inherits:
-
Object
- Object
- KubeMQ::Queues::QueueMessage
- Defined in:
- lib/kubemq/queues/queue_message.rb
Overview
Outbound queue message for point-to-point messaging.
Construct a QueueMessage and send it via KubeMQ::QueuesClient#send_queue_message,
KubeMQ::QueuesClient#send_queue_message_stream, or UpstreamSender#publish.
Optionally attach a QueueMessagePolicy for expiration, delay, and
dead-letter handling.
Instance Attribute Summary collapse
-
#body ⇒ String?
Message payload (binary-safe).
-
#channel ⇒ String
Target queue channel name.
-
#id ⇒ String
Unique message identifier (auto-generated UUID if not provided).
-
#metadata ⇒ String?
Arbitrary metadata string.
-
#policy ⇒ QueueMessagePolicy?
Delivery policy (expiration, delay, dead-letter).
-
#tags ⇒ Hash{String => String}
User-defined key-value tags.
Instance Method Summary collapse
-
#initialize(channel:, metadata: nil, body: nil, tags: nil, id: nil, policy: nil) ⇒ QueueMessage
constructor
A new instance of QueueMessage.
Constructor Details
#initialize(channel:, metadata: nil, body: nil, tags: nil, id: nil, policy: nil) ⇒ QueueMessage
Returns a new instance of QueueMessage.
89 90 91 92 93 94 95 96 |
# File 'lib/kubemq/queues/queue_message.rb', line 89 def initialize(channel:, metadata: nil, body: nil, tags: nil, id: nil, policy: nil) @id = id || SecureRandom.uuid @channel = channel @metadata = @body = body @tags = || {} @policy = policy end |
Instance Attribute Details
#body ⇒ String?
Returns message payload (binary-safe).
81 |
# File 'lib/kubemq/queues/queue_message.rb', line 81 attr_accessor :id, :channel, :metadata, :body, :tags, :policy |
#channel ⇒ String
Returns target queue channel name.
81 |
# File 'lib/kubemq/queues/queue_message.rb', line 81 attr_accessor :id, :channel, :metadata, :body, :tags, :policy |
#id ⇒ String
Returns unique message identifier (auto-generated UUID if not provided).
81 82 83 |
# File 'lib/kubemq/queues/queue_message.rb', line 81 def id @id end |
#metadata ⇒ String?
Returns arbitrary metadata string.
81 |
# File 'lib/kubemq/queues/queue_message.rb', line 81 attr_accessor :id, :channel, :metadata, :body, :tags, :policy |
#policy ⇒ QueueMessagePolicy?
Returns delivery policy (expiration, delay, dead-letter).
81 |
# File 'lib/kubemq/queues/queue_message.rb', line 81 attr_accessor :id, :channel, :metadata, :body, :tags, :policy |
#tags ⇒ Hash{String => String}
Returns user-defined key-value tags.
81 |
# File 'lib/kubemq/queues/queue_message.rb', line 81 attr_accessor :id, :channel, :metadata, :body, :tags, :policy |