Class: Rdkafka::Producer::DeliveryHandle

Inherits:
AbstractHandle show all
Defined in:
lib/rdkafka/producer/delivery_handle.rb

Overview

Handle to wait for a delivery report which is returned when producing a message.

Constant Summary

Constants inherited from AbstractHandle

AbstractHandle::REGISTRY

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from AbstractHandle

#pending?, #raise_error, register, remove, #wait

Methods included from Helpers::Time

#monotonic_now

Instance Attribute Details

#labelObject?

Returns label set during message production or nil by default.

Returns:

  • (Object, nil)

    label set during message production or nil by default



15
16
17
# File 'lib/rdkafka/producer/delivery_handle.rb', line 15

def label
  @label
end

Instance Method Details

#create_resultDeliveryReport

Returns a report on the delivery of the message.

Returns:



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/rdkafka/producer/delivery_handle.rb', line 23

def create_result
  DeliveryReport.new(
    self[:partition],
    self[:offset],
    # For part of errors, we will not get a topic name reference and in cases like this
    # we should not return it
    self[:topic_name].null? ? nil : self[:topic_name].read_string,
    self[:response] != 0 ? RdkafkaError.new(self[:response]) : nil,
    label
  )
end

#operation_nameString

Returns the name of the operation (e.g. “delivery”).

Returns:

  • (String)

    the name of the operation (e.g. “delivery”)



18
19
20
# File 'lib/rdkafka/producer/delivery_handle.rb', line 18

def operation_name
  "delivery"
end