Module: Qpid::Proton::Util::Engine

Included in:
Delivery, Disposition, Endpoint, Transport
Defined in:
lib/util/engine.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.receive_message(delivery, msg = nil) ⇒ Qpid::Proton::Message

Convenience method to receive messages from a delivery.

Parameters:

Returns:



32
33
34
35
36
37
# File 'lib/util/engine.rb', line 32

def self.receive_message(delivery, msg = nil)
  msg = Qpid::Proton::Message.new if msg.nil?
  msg.decode(delivery.link.receive(delivery.pending))
  delivery.link.advance
  return msg
end

Instance Method Details

#condition_to_object(condition) ⇒ Object

:nodoc:



58
59
60
61
62
63
64
65
66
# File 'lib/util/engine.rb', line 58

def condition_to_object(condition) # :nodoc:
  result = nil
  if Cproton.pn_condition_is_set(condition)
    result = Condition.new(Cproton.pn_condition_get_name(condition),
                           Cproton.pn_condition_get_description(condition),
                           data_to_object(Cproton.pn_condition_info(condition)))
  end
  return result
end

#data_to_object(data_impl) ⇒ Object

:nodoc:



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

def data_to_object(data_impl) # :nodoc:
  object = nil
  unless data_impl.nil?
    data = Qpid::Proton::Codec::Data.new(data_impl)
    data.rewind
    data.next
    object = data.object
    data.rewind
  end
  return object
end

#object_to_condition(object, condition) ⇒ Object

:nodoc:



68
69
70
71
72
73
74
75
76
77
78
# File 'lib/util/engine.rb', line 68

def object_to_condition(object, condition) # :nodoc:
  Cproton.pn_condition_clear(condition)
  unless object.nil?
    Cproton.pn_condition_set_name(condition, object.name)
    Cproton.pn_condition_set_description(condition, object.description)
    info = Data.new(Cproton.pn_condition_info(condition))
    if object.info?
      info.object = object.info
    end
  end
end

#object_to_data(object, data_impl) ⇒ Object

:nodoc:



51
52
53
54
55
56
# File 'lib/util/engine.rb', line 51

def object_to_data(object, data_impl) # :nodoc:
  unless object.nil?
    data = Data.new(data_impl)
    data.object = object
  end
end