Class: Qpid::Messaging::Address
- Inherits:
-
Object
- Object
- Qpid::Messaging::Address
- Defined in:
- lib/qpid_messaging/address.rb
Overview
Address represents an address to which messages can be sent or from which they can be received.
The Address
String
An Address
can be described using the following pattern:
<address> [ / <subject> ] ; [ { <key> : <value> , … } ]
where address is a simple name and subject is a subject or subject pattern.
Options
The options, enclosed in curly braces, are key:value pairs delimited by a comma. The values can be nested maps also enclosed in curly braces. Or they can be lists of values, where they are contained within square brackets but still comma delimited, such as:
[value1,value2,value3]
The following are the list of supported options:
- create
-
Indicates if the address should be created; values are always, never, sender or reciever.
- assert
-
Indicates whether or not to assert any specified node properties; values are always, never, sender or receiver.
- delete
-
Indicates whether or not to delete the addressed node when a sender or receiver is cancelled; values are always, never, sender or receiver.
- node
-
A nested map describing properties for the addressed node. Properties are type (topic or queue), durable (a boolean), x-declare (a nested map of amqp 0.10-specific options) and x-bindings (nested list which specifies a queue, exchange or a binding key and arguments).
- link
-
A nested map through which properties of the link can be specified; properties are durable, reliability, x-declare, x-subscribe and x-bindings.
- mode
-
(*For receivers only*) indicates whether the receiver should consume or browse messages; values are consume (the default) and browse.
Instance Method Summary collapse
-
#address_impl ⇒ Object
:nodoc:.
-
#address_type ⇒ Object
Returns the type for the
Address
. -
#address_type=(type) ⇒ Object
Sets the type for the
Address
. -
#initialize(address, address_impl = nil) ⇒ Address
constructor
Creates a new
Address
from an address string. -
#name ⇒ Object
Returns the name for the
Address
. -
#name=(name) ⇒ Object
Sets the name for the
Address
. -
#options ⇒ Object
Returns the options.
-
#options=(options = {}) ⇒ Object
Sets the options for the address.
-
#subject ⇒ Object
Returns the subject for the
Address
. -
#subject=(subject) ⇒ Object
Sets the subject for the
Address
. -
#to_s ⇒ Object
:nodoc:.
Constructor Details
Instance Method Details
#address_impl ⇒ Object
:nodoc:
92 93 94 |
# File 'lib/qpid_messaging/address.rb', line 92 def address_impl # :nodoc: @address_impl end |
#address_type ⇒ Object
Returns the type for the Address
. – We cannot use “type” since that clashes with the Ruby object.type identifier. ++
143 |
# File 'lib/qpid_messaging/address.rb', line 143 def address_type; @address_impl.getType; end |
#address_type=(type) ⇒ Object
Sets the type for the Address
.
The type of the address determines how Sender
and Receiver
objects are constructed for it. It also affects how a reply-to address is encoded.
If no type is specified then it will be determined by querying the broker. Explicitly setting the type prevents this.
Values are either queue or topic.
Options
-
type
- the address type
Examples
# creates an queue address
addr = Qpid::Messaging::Address.new "my-queue;{create:always}"
addr.address_type = "queue"
166 |
# File 'lib/qpid_messaging/address.rb', line 166 def address_type=(type); @address_impl.setType(type); end |
#name ⇒ Object
105 |
# File 'lib/qpid_messaging/address.rb', line 105 def name; @address_impl.getName; end |
#name=(name) ⇒ Object
116 |
# File 'lib/qpid_messaging/address.rb', line 116 def name=(name); @address_impl.setName name; end |
#options ⇒ Object
Returns the options.
169 |
# File 'lib/qpid_messaging/address.rb', line 169 def ; @address_impl.getOptions; end |
#options=(options = {}) ⇒ Object
Sets the options for the address.
NOTE: See the class documentation for more details on options.
Examples
addr.options = :create => :always
addr.options = :create => :always, :delete => :always
180 |
# File 'lib/qpid_messaging/address.rb', line 180 def ( = {}); @address_impl.setOptions(()); end |
#subject ⇒ Object
125 |
# File 'lib/qpid_messaging/address.rb', line 125 def subject; @address_impl.getSubject; end |
#subject=(subject) ⇒ Object
136 |
# File 'lib/qpid_messaging/address.rb', line 136 def subject=(subject); @address_impl.setSubject(subject); end |
#to_s ⇒ Object
:nodoc:
182 183 184 |
# File 'lib/qpid_messaging/address.rb', line 182 def to_s # :nodoc: @address_impl.str end |