Return-Path: X-Original-To: apmail-qpid-commits-archive@www.apache.org Delivered-To: apmail-qpid-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 0C8E818239 for ; Mon, 8 Jun 2015 18:13:31 +0000 (UTC) Received: (qmail 28275 invoked by uid 500); 8 Jun 2015 18:13:30 -0000 Delivered-To: apmail-qpid-commits-archive@qpid.apache.org Received: (qmail 28144 invoked by uid 500); 8 Jun 2015 18:13:30 -0000 Mailing-List: contact commits-help@qpid.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@qpid.apache.org Delivered-To: mailing list commits@qpid.apache.org Received: (qmail 27847 invoked by uid 99); 8 Jun 2015 18:13:30 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 08 Jun 2015 18:13:30 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 6384EE000A; Mon, 8 Jun 2015 18:13:30 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: mcpierce@apache.org To: commits@qpid.apache.org Date: Mon, 08 Jun 2015 18:13:35 -0000 Message-Id: In-Reply-To: <60e2958ae17943db87f6bef7887abeab@git.apache.org> References: <60e2958ae17943db87f6bef7887abeab@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [06/31] qpid-proton git commit: PROTON-781: Repackaged the Ruby Selectable class to Qpid::Proton. PROTON-781: Repackaged the Ruby Selectable class to Qpid::Proton. It's now a part of the core APIs and not part of the Messenger APIs. Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/9e8583c3 Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/9e8583c3 Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/9e8583c3 Branch: refs/heads/PROTON-781-ruby-reactor-apis Commit: 9e8583c32c0e993643b012b2c42745ff30fc64cf Parents: 4dffce6 Author: Darryl L. Pierce Authored: Tue Feb 24 13:31:51 2015 -0500 Committer: Darryl L. Pierce Committed: Mon Jun 8 13:57:51 2015 -0400 ---------------------------------------------------------------------- proton-c/bindings/ruby/lib/core/selectable.rb | 118 +++++++++++++++++++ .../bindings/ruby/lib/messenger/selectable.rb | 118 ------------------- proton-c/bindings/ruby/lib/qpid_proton.rb | 2 +- 3 files changed, 119 insertions(+), 119 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/9e8583c3/proton-c/bindings/ruby/lib/core/selectable.rb ---------------------------------------------------------------------- diff --git a/proton-c/bindings/ruby/lib/core/selectable.rb b/proton-c/bindings/ruby/lib/core/selectable.rb new file mode 100644 index 0000000..8a5b223 --- /dev/null +++ b/proton-c/bindings/ruby/lib/core/selectable.rb @@ -0,0 +1,118 @@ +#-- +# 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. +#++ + +module Qpid::Proton + + # Selectable enables accessing the underlying file descriptors + # for Messenger. + # + # @private + class Selectable + + + def initialize(messenger, impl) # :nodoc: + @messenger = messenger + @impl = impl + @io = nil + @freed = false + end + + # Returns the underlying file descriptor. + # + # This can be used in conjunction with the IO class. + # + def fileno + Cproton.pn_selectable_get_fd(@impl) + end + + def to_io + @io ||= IO.new(fileno) + end + + # The number of bytes the selectable is capable of consuming. + # + #def capacity + # Cproton.pn_selectable_capacity(@impl) + #end + + # The number of bytes waiting to be written to the file descriptor. + # + def pending + Cproton.pn_selectable_pending(@impl) + end + + # The future expiry time at which control will be returned to the + # selectable. + # + def deadline + tstamp = Cproton.pn_selectable_deadline(@impl) + tstamp.nil? ? nil : tstamp / 1000 + end + + def readable + Cproton.pn_selectable_readable(@impl) + end + + def writable + Cproton.pn_selectable_writable(@impl) + end + + def expired? + Cproton.pn_selectable_expired(@impl) + end + + def registered=(registered) + Cproton.pn_selectable_set_registered(@impl, registered) + end + + def registered? + Cproton.pn_selectable_is_registered(@impl) + end + + def terminal? + return true if @impl.nil? + Cproton.pn_selectable_is_terminal(@impl) + end + + def to_s + "fileno=#{self.fileno} registered=#{self.registered?} terminal=#{self.terminal?}" + end + + def free + return if @freed + @freed = true + @messenger.unregister_selectable(fileno) + @io.close unless @io.nil? + Cproton.pn_selectable_free(@impl) + @impl = nil + end + + def freed? # :nodoc: + @freed + end + + private + + def check_is_initialized + raise RuntimeError.new("selectable freed") if @impl.nil? + end + + end + +end http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/9e8583c3/proton-c/bindings/ruby/lib/messenger/selectable.rb ---------------------------------------------------------------------- diff --git a/proton-c/bindings/ruby/lib/messenger/selectable.rb b/proton-c/bindings/ruby/lib/messenger/selectable.rb deleted file mode 100644 index da1a3d5..0000000 --- a/proton-c/bindings/ruby/lib/messenger/selectable.rb +++ /dev/null @@ -1,118 +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. -#++ - -module Qpid::Proton::Messenger - - # Selectable enables accessing the underlying file descriptors - # for Messenger. - # - # @private - class Selectable - - - def initialize(messenger, impl) # :nodoc: - @messenger = messenger - @impl = impl - @io = nil - @freed = false - end - - # Returns the underlying file descriptor. - # - # This can be used in conjunction with the IO class. - # - def fileno - Cproton.pn_selectable_get_fd(@impl) - end - - def to_io - @io ||= IO.new(fileno) - end - - # The number of bytes the selectable is capable of consuming. - # - #def capacity - # Cproton.pn_selectable_capacity(@impl) - #end - - # The number of bytes waiting to be written to the file descriptor. - # - def pending - Cproton.pn_selectable_pending(@impl) - end - - # The future expiry time at which control will be returned to the - # selectable. - # - def deadline - tstamp = Cproton.pn_selectable_deadline(@impl) - tstamp.nil? ? nil : tstamp / 1000 - end - - def readable - Cproton.pn_selectable_readable(@impl) - end - - def writable - Cproton.pn_selectable_writable(@impl) - end - - def expired? - Cproton.pn_selectable_expired(@impl) - end - - def registered=(registered) - Cproton.pn_selectable_set_registered(@impl, registered) - end - - def registered? - Cproton.pn_selectable_is_registered(@impl) - end - - def terminal? - return true if @impl.nil? - Cproton.pn_selectable_is_terminal(@impl) - end - - def to_s - "fileno=#{self.fileno} registered=#{self.registered?} terminal=#{self.terminal?}" - end - - def free - return if @freed - @freed = true - @messenger.unregister_selectable(fileno) - @io.close unless @io.nil? - Cproton.pn_selectable_free(@impl) - @impl = nil - end - - def freed? # :nodoc: - @freed - end - - private - - def check_is_initialized - raise RuntimeError.new("selectable freed") if @impl.nil? - end - - end - -end http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/9e8583c3/proton-c/bindings/ruby/lib/qpid_proton.rb ---------------------------------------------------------------------- diff --git a/proton-c/bindings/ruby/lib/qpid_proton.rb b/proton-c/bindings/ruby/lib/qpid_proton.rb index 21f96a1..a4b3391 100644 --- a/proton-c/bindings/ruby/lib/qpid_proton.rb +++ b/proton-c/bindings/ruby/lib/qpid_proton.rb @@ -58,6 +58,7 @@ require "event/event" require "event/collector" # Main Proton classes +require "core/selectable" require "core/message" require "core/endpoint" require "core/session" @@ -78,7 +79,6 @@ require "core/transport" require "messenger/subscription" require "messenger/tracker_status" require "messenger/tracker" -require "messenger/selectable" require "messenger/messenger" # Handler classes --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org For additional commands, e-mail: commits-help@qpid.apache.org