diff options
Diffstat (limited to 'qpid/cpp/bindings/qpid/ruby/lib/qpid/connection.rb')
-rw-r--r-- | qpid/cpp/bindings/qpid/ruby/lib/qpid/connection.rb | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/qpid/cpp/bindings/qpid/ruby/lib/qpid/connection.rb b/qpid/cpp/bindings/qpid/ruby/lib/qpid/connection.rb deleted file mode 100644 index 5c56c1f5d0..0000000000 --- a/qpid/cpp/bindings/qpid/ruby/lib/qpid/connection.rb +++ /dev/null @@ -1,134 +0,0 @@ -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# - -require 'cqpid' - -module Qpid - - module Messaging - - # Connection allows for establishing connections to a remote endpoint. - class Connection - - # The following general options are supported (as strings or symbols): - # - # username:: - # password:: - # heartbeat:: - # tcp_nodelay:: - # sasl_mechanism:: - # sasl_service:: - # sasl_min_ssf:: - # sasl_max_ssf:: - # transport:: - # - # The following options specifically control reconnection behavior: - # - # reconnect:: *true* or *false*; indicates whether to attempt reconnections - # reconnect_timeout:: the number of seconds to attempt reconnecting - # reconnect_limit:: the number of retries before reporting failure - # reconnect_interval_min:: initial delay, in seconds, before attempting a reconnecting - # reconnect_interval_max:: number of seconds to wait before additional reconnect attempts - # reconnect_interval:: shorthand for setting box min and max values - # reconnect_urls:: a list of alternate URLs to use for reconnection attempts - def initialize(url, options = {}, connection_impl = nil) - @url = url - @connection_impl = connection_impl - @options = options - end - - def connection_impl # :nodoc: - @connection_impl - end - - # Opens the connection. - def open - @connection_impl = Cqpid::Connection.new(@url, convert_options) - @connection_impl.open - end - - # Reports whether the connection is open. - def open?; false || (@connection_impl.isOpen if @connection_impl); end - - # Closes the connection. - def close; @connection_impl.close if open?; end - - # Creates a new session. - # - # If :transactional => true then a transactional session is created. - # Otherwise a standard session is created. - def create_session(args = {}) - name = args[:name] || "" - if open? - if args[:transactional] - session = @connection_impl.createTransactionalSession name - else - session = @connection_impl.createSession name - end - return Session.new(session) - else - raise RuntimeError.new "No connection available." - end - end - - # Returns a session for the specified session name. - def session name - session_impl = @connection_impl.getSession name - Qpid::Messaging::Session.new session_impl if session_impl - end - - # Returns the username used to authenticate with the connection. - def authenticated_username; @connection_impl.getAuthenticatedUsername if open?; end - - # inherited from Handle - - # Returns whether the underlying handle is valid; i.e., not null. - def valid? - @connection_impl.isValid - end - - # Returns whether the underlying handle is null. - def null? - @connection_impl.isNull - end - - # Swaps the underlying connection handle. - def swap connection - @connection_impl.swap connection.connection_impl - end - - private - - def convert_options - result = {} - # map only those options defined in the C++ layer - # TODO when new options are added, this needs to be updated. - unless @options.nil? || @options.empty? - @options.each_pair {|key, value| result[key.to_s] = value.to_s} - end - - return result - end - - end - - end - -end - |