class Qpid::Proton::Terminus
Represents an endpoint for an AMQP connection..
An AMQP terminus acts as either a source or a target for messages, but never as both. Every Link is associated iwth both a source and a target Terminus that is negotiated during link establishment.
A terminus is composed of an AMQP address along with a number of other properties defining the quality of service and behavior of the Link.
Constants
- CONFIGURATION
Indicates a Terminus with durably held configuration, but not the delivery state.
- COORDINATOR
A special target identifying a transaction coordinator.
- DELIVERIES
Indicates a Terminus with both durably held configuration and durably held delivery states.
- DIST_MODE_COPY
The receiver gets all messages.
- DIST_MODE_MOVE
The receives compete for messages.
- DIST_MODE_UNSPECIFIED
The behavior is defined by the nod.e
- EXPIRE_NEVER
The terminus is never considered orphaned.
- EXPIRE_WITH_CONNECTION
The terminus is orphaned when the parent connection is closed.
- EXPIRE_WITH_LINK
The terminus is orphaned when the parent link is closed.
- EXPIRE_WITH_SESSION
The terminus is orphaned whent he parent sessio is closed.
- NONDURABLE
Indicates a non-durable Terminus.
- PROTON_METHOD_PREFIX
@private
- SOURCE
Indicates a source for messages.
- TARGET
Indicates a target for messages.
- UNSPECIFIED
Indicates a non-existent source or target terminus.
Attributes
@private
Public Class Methods
@private
# File lib/core/terminus.rb, line 144 def initialize(impl) @impl = impl end
Public Instance Methods
Access and modify the AMQP capabilities data for the Terminus.
This operation will return an instance of Data that is valid until the Terminus is freed due to its parent being freed. Any data contained in the object will be sent as the AMQP properties for the parent Terminus instance.
NOTE: this MUST take the form of a symbol keyed map to be valid.
@return [Data] The terminus capabilities.
# File lib/core/terminus.rb, line 174 def capabilities Data.new(Cproton.pn_terminus_capabilities(@impl)) end
Copy another Terminus into this instance.
@param source [Terminus] The source instance.
# File lib/core/terminus.rb, line 212 def copy(source) Cproton.pn_terminus_copy(@impl,source.impl) end
Access and modify the AMQP filter set for the Terminus.
This operation will return an instance of Data that is valid until the Terminus is freed due to its parent being freed. Any data contained in the object will be sent as the AMQP properties for the parent Terminus instance.
NOTE: this MUST take the form of a symbol keyed map to be valid.
@return [Data] The terminus filter.
# File lib/core/terminus.rb, line 204 def filter Data.new(Cproton.pn_terminus_filter(@impl)) end
Access and modify the AMQP outcomes for the Terminus.
This operaiton will return an instance of Data that is valid until the Terminus is freed due to its parent being freed. Any data contained in the object will be sent as the AMQP properties for the parent Terminus instance.
NOTE: this MUST take the form of a symbol keyed map to be valid.
@return [Data] The terminus outcomes.
# File lib/core/terminus.rb, line 189 def outcomes Data.new(Cproton.pn_terminus_outcomes(@impl)) end
Access and modify the AMQP properties data for the Terminus.
This operation will return an instance of Data that is valid until the Terminus is freed due to its parent being freed. Any data contained in the object will be sent as the AMQP properties for the parent Terminus instance.
NOTE: this MUST take the form of a symbol keyed map to be valid.
@return [Data] The terminus properties.
# File lib/core/terminus.rb, line 159 def properties Data.new(Cproton.pn_terminus_properties(@impl)) end