You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2017/11/30 21:42:35 UTC

[04/12] qpid-proton git commit: PROTON-1064: [ruby] Move MessagingHandler to core

PROTON-1064: [ruby] Move MessagingHandler to core


Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/1f06e4bf
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/1f06e4bf
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/1f06e4bf

Branch: refs/heads/master
Commit: 1f06e4bf9ca2f2d7cd130adb1494c0b18296345b
Parents: 15c804c
Author: Alan Conway <ac...@redhat.com>
Authored: Wed Nov 22 15:14:19 2017 -0500
Committer: Alan Conway <ac...@redhat.com>
Committed: Thu Nov 30 16:36:26 2017 -0500

----------------------------------------------------------------------
 .../bindings/ruby/lib/core/messaging_handler.rb | 216 +++++++++++++++++++
 .../ruby/lib/handler/endpoint_state_handler.rb  |   2 +-
 .../lib/handler/incoming_message_handler.rb     |   2 +-
 .../ruby/lib/handler/messaging_handler.rb       | 216 -------------------
 .../lib/handler/outgoing_message_handler.rb     |   2 +-
 proton-c/bindings/ruby/lib/qpid_proton.rb       |  14 +-
 6 files changed, 227 insertions(+), 225 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/1f06e4bf/proton-c/bindings/ruby/lib/core/messaging_handler.rb
----------------------------------------------------------------------
diff --git a/proton-c/bindings/ruby/lib/core/messaging_handler.rb b/proton-c/bindings/ruby/lib/core/messaging_handler.rb
new file mode 100644
index 0000000..3babc05
--- /dev/null
+++ b/proton-c/bindings/ruby/lib/core/messaging_handler.rb
@@ -0,0 +1,216 @@
+#--
+# 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
+
+  # A general purpose handler that simplifies processing events.
+  #
+  class MessagingHandler
+
+    attr_reader :handlers
+
+    # Creates a new instance.
+    #
+    # @param [Integer] prefetch
+    # @param [Boolean] auto_accept
+    # @param [Boolean] auto_settle
+    # @param [Boolean] peer_close_is_error
+    #
+    def initialize(prefetch = 10, auto_accept = true, auto_settle = true, peer_close_is_error = false)
+      @handlers = Array.new
+      @handlers << Handler::CFlowController.new(prefetch) unless prefetch.zero?
+      @handlers << Handler::EndpointStateHandler.new(peer_close_is_error, self)
+      @handlers << Handler::IncomingMessageHandler.new(auto_accept, self)
+      @handlers << Handler::OutgoingMessageHandler.new(auto_settle,self)
+    end
+
+    # Called when the peer closes the connection with an error condition.
+    #
+    # @param event [Qpid::Proton::Event::Event] The event.
+    #
+    def on_connection_error(event)
+      Handler::EndpointStateHandler.print_error(event.connection, "connection")
+    end
+
+      # Called when the peer closes the session with an error condition.
+      #
+      # @param event [Qpid:Proton::Event::Event] The event.
+      #
+    def on_session_error(event)
+      Handler::EndpointStateHandler.print_error(event.session, "session")
+      event.connection.close
+    end
+
+    # Called when the peer closes the link with an error condition.
+    #
+    # @param event [Qpid::Proton::Event::Event] The event.
+    #
+    def on_link_error(event)
+      Handler::EndpointStateHandler.print_error(event.link, "link")
+      event.connection.close
+    end
+
+    # Called when the event loop starts.
+    #
+    # @param event [Qpid::Proton::Event::Event] The event.
+    #
+    def on_reactor_init(event)
+      self.on_start(event)
+    end
+
+    # Called when the event loop starts.
+    #
+    # This method needs to be overridden.
+    #
+    # @param event [Qpid::Proton::Event::Event] The event.
+    #
+    def on_start(event)
+    end
+
+    # Called when the connection is closed.
+    #
+    # This method needs to be overridden.
+    #
+    # @param event [Qpid::Proton::Event::Event] The event.
+    #
+    def on_connection_closed(event)
+    end
+
+    # Called when the session is closed.
+    #
+    # This method needs to be overridden.
+    #
+    # @param event [Qpid::Proton::Event::Event] The event.
+    #
+    def on_session_closed(event)
+    end
+
+    # Called when the link is closed.
+    #
+    # This method needs to be overridden.
+    #
+    # @param event [Qpid::Proton::Event::Event] The event.
+    #
+    def on_link_closed(event)
+    end
+
+    # Called when the peer initiates the closing of the connection.
+    #
+    # This method needs to be overridden.
+    #
+    # @param event [Qpid::Proton::Event::Event] The event.
+    #
+    def on_connection_closing(event)
+    end
+
+    # Called when the peer initiates the closing of the session.
+    #
+    # This method needs to be overridden.
+    #
+    # @param event [Qpid::Proton::Event::Event] The event.
+    #
+    def on_session_closing(event)
+    end
+
+    # Called when the peer initiates the closing of the link.
+    #
+    # This method needs to be overridden.
+    #
+    # @param event [Qpid::Proton::Event::Event] The event.
+    #
+    def on_link_closing(event)
+    end
+
+    # Called when the socket is disconnected.
+    #
+    # This method needs to be overridden.
+    #
+    # @param event [Qpid::Proton::Event::Event] The event.
+    #
+    def on_disconnected(event)
+    end
+
+    # Called when the sender link has credit and messages can therefore
+    # be transferred.
+    #
+    # This method needs to be overridden.
+    #
+    # @param event [Qpid::Proton::Event::Event] The event.
+    #
+    def on_sendable(event)
+    end
+
+    # Called when the remote peer accepts an outgoing message.
+    #
+    # This method needs to be overridden.
+    #
+    # @param event [Qpid::Proton::Event::Event] The event.
+    #
+    def on_accepted(event)
+    end
+
+    # Called when the remote peer rejects an outgoing message.
+    #
+    # This method needs to be overridden.
+    #
+    # @param event [Qpid::Proton::Event::Event] The event.
+    #
+    def on_rejected(event)
+    end
+
+    # Called when the remote peer releases an outgoing message.
+    #
+    # Note that this may be in response to either the RELEASE or
+    # MODIFIED state as defined by the AMPQ specification.
+    #
+    # This method needs to be overridden.
+    #
+    # @param event [Qpid::Proton::Event::Event] The event.
+    #
+    def on_released(event)
+    end
+
+    # Called when the remote peer has settled hte outgoing message.
+    #
+    # This is the point at which it should never be retransmitted.
+    #
+    # This method needs to be overridden.
+    #
+    # @param event [Qpid::Proton::Event::Event] The event.
+    #
+    def on_settled(event)
+    end
+
+    # Called when a message is received.
+    #
+    # The message itself can be obtained as a property on the event. For
+    # the purpose of referring to this message in further actions, such as
+    # explicitly accepting it) the delivery should be used. This is also
+    # obtainable vi a property on the event.
+    #
+    # This method needs to be overridden.
+    #
+    # @param event [Qpid::Proton::Event::Event] The event.
+    #
+    def on_message(event)
+    end
+
+  end
+
+end

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/1f06e4bf/proton-c/bindings/ruby/lib/handler/endpoint_state_handler.rb
----------------------------------------------------------------------
diff --git a/proton-c/bindings/ruby/lib/handler/endpoint_state_handler.rb b/proton-c/bindings/ruby/lib/handler/endpoint_state_handler.rb
index 8a1a16e..7f0c85b 100644
--- a/proton-c/bindings/ruby/lib/handler/endpoint_state_handler.rb
+++ b/proton-c/bindings/ruby/lib/handler/endpoint_state_handler.rb
@@ -32,7 +32,7 @@ module Qpid::Proton::Handler
   #
   # The same applies to close.
   #
-  class EndpointStateHandler < Qpid::Proton::BaseHandler
+  class EndpointStateHandler
 
     def initialize(peer_close_is_error = false, delegate = nil)
       @delegate = delegate

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/1f06e4bf/proton-c/bindings/ruby/lib/handler/incoming_message_handler.rb
----------------------------------------------------------------------
diff --git a/proton-c/bindings/ruby/lib/handler/incoming_message_handler.rb b/proton-c/bindings/ruby/lib/handler/incoming_message_handler.rb
index ced84a2..ff59073 100644
--- a/proton-c/bindings/ruby/lib/handler/incoming_message_handler.rb
+++ b/proton-c/bindings/ruby/lib/handler/incoming_message_handler.rb
@@ -22,7 +22,7 @@ module Qpid::Proton::Handler
   # A utility for simpler and more intuitive handling of delivery events
   # related to incoming messages.
   #
-  class IncomingMessageHandler < Qpid::Proton::BaseHandler
+  class IncomingMessageHandler
 
     include Acking
 

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/1f06e4bf/proton-c/bindings/ruby/lib/handler/messaging_handler.rb
----------------------------------------------------------------------
diff --git a/proton-c/bindings/ruby/lib/handler/messaging_handler.rb b/proton-c/bindings/ruby/lib/handler/messaging_handler.rb
deleted file mode 100644
index d97fe3d..0000000
--- a/proton-c/bindings/ruby/lib/handler/messaging_handler.rb
+++ /dev/null
@@ -1,216 +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::Handler
-
-  # A general purpose handler that simplifies processing events.
-  #
-  class MessagingHandler < Qpid::Proton::BaseHandler
-
-    attr_reader :handlers
-
-    # Creates a new instance.
-    #
-    # @param [Integer] prefetch
-    # @param [Boolean] auto_accept
-    # @param [Boolean] auto_settle
-    # @param [Boolean] peer_close_is_error
-    #
-    def initialize(prefetch = 10, auto_accept = true, auto_settle = true, peer_close_is_error = false)
-      @handlers = Array.new
-      @handlers << CFlowController.new(prefetch) unless prefetch.zero?
-      @handlers << EndpointStateHandler.new(peer_close_is_error, self)
-      @handlers << IncomingMessageHandler.new(auto_accept, self)
-      @handlers << OutgoingMessageHandler.new(auto_settle,self)
-    end
-
-    # Called when the peer closes the connection with an error condition.
-    #
-    # @param event [Qpid::Proton::Event::Event] The event.
-    #
-    def on_connection_error(event)
-      EndpointStateHandler.print_error(event.connection, "connection")
-    end
-
-      # Called when the peer closes the session with an error condition.
-      #
-      # @param event [Qpid:Proton::Event::Event] The event.
-      #
-    def on_session_error(event)
-      EndpointStateHandler.print_error(event.session, "session")
-      event.connection.close
-    end
-
-    # Called when the peer closes the link with an error condition.
-    #
-    # @param event [Qpid::Proton::Event::Event] The event.
-    #
-    def on_link_error(event)
-      EndpointStateHandler.print_error(event.link, "link")
-      event.connection.close
-    end
-
-    # Called when the event loop starts.
-    #
-    # @param event [Qpid::Proton::Event::Event] The event.
-    #
-    def on_reactor_init(event)
-      self.on_start(event)
-    end
-
-    # Called when the event loop starts.
-    #
-    # This method needs to be overridden.
-    #
-    # @param event [Qpid::Proton::Event::Event] The event.
-    #
-    def on_start(event)
-    end
-
-    # Called when the connection is closed.
-    #
-    # This method needs to be overridden.
-    #
-    # @param event [Qpid::Proton::Event::Event] The event.
-    #
-    def on_connection_closed(event)
-    end
-
-    # Called when the session is closed.
-    #
-    # This method needs to be overridden.
-    #
-    # @param event [Qpid::Proton::Event::Event] The event.
-    #
-    def on_session_closed(event)
-    end
-
-    # Called when the link is closed.
-    #
-    # This method needs to be overridden.
-    #
-    # @param event [Qpid::Proton::Event::Event] The event.
-    #
-    def on_link_closed(event)
-    end
-
-    # Called when the peer initiates the closing of the connection.
-    #
-    # This method needs to be overridden.
-    #
-    # @param event [Qpid::Proton::Event::Event] The event.
-    #
-    def on_connection_closing(event)
-    end
-
-    # Called when the peer initiates the closing of the session.
-    #
-    # This method needs to be overridden.
-    #
-    # @param event [Qpid::Proton::Event::Event] The event.
-    #
-    def on_session_closing(event)
-    end
-
-    # Called when the peer initiates the closing of the link.
-    #
-    # This method needs to be overridden.
-    #
-    # @param event [Qpid::Proton::Event::Event] The event.
-    #
-    def on_link_closing(event)
-    end
-
-    # Called when the socket is disconnected.
-    #
-    # This method needs to be overridden.
-    #
-    # @param event [Qpid::Proton::Event::Event] The event.
-    #
-    def on_disconnected(event)
-    end
-
-    # Called when the sender link has credit and messages can therefore
-    # be transferred.
-    #
-    # This method needs to be overridden.
-    #
-    # @param event [Qpid::Proton::Event::Event] The event.
-    #
-    def on_sendable(event)
-    end
-
-    # Called when the remote peer accepts an outgoing message.
-    #
-    # This method needs to be overridden.
-    #
-    # @param event [Qpid::Proton::Event::Event] The event.
-    #
-    def on_accepted(event)
-    end
-
-    # Called when the remote peer rejects an outgoing message.
-    #
-    # This method needs to be overridden.
-    #
-    # @param event [Qpid::Proton::Event::Event] The event.
-    #
-    def on_rejected(event)
-    end
-
-    # Called when the remote peer releases an outgoing message.
-    #
-    # Note that this may be in response to either the RELEASE or
-    # MODIFIED state as defined by the AMPQ specification.
-    #
-    # This method needs to be overridden.
-    #
-    # @param event [Qpid::Proton::Event::Event] The event.
-    #
-    def on_released(event)
-    end
-
-    # Called when the remote peer has settled hte outgoing message.
-    #
-    # This is the point at which it should never be retransmitted.
-    #
-    # This method needs to be overridden.
-    #
-    # @param event [Qpid::Proton::Event::Event] The event.
-    #
-    def on_settled(event)
-    end
-
-    # Called when a message is received.
-    #
-    # The message itself can be obtained as a property on the event. For
-    # the purpose of referring to this message in further actions, such as
-    # explicitly accepting it) the delivery should be used. This is also
-    # obtainable vi a property on the event.
-    #
-    # This method needs to be overridden.
-    #
-    # @param event [Qpid::Proton::Event::Event] The event.
-    #
-    def on_message(event)
-    end
-
-  end
-
-end

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/1f06e4bf/proton-c/bindings/ruby/lib/handler/outgoing_message_handler.rb
----------------------------------------------------------------------
diff --git a/proton-c/bindings/ruby/lib/handler/outgoing_message_handler.rb b/proton-c/bindings/ruby/lib/handler/outgoing_message_handler.rb
index 3f1f3f3..ee875b6 100644
--- a/proton-c/bindings/ruby/lib/handler/outgoing_message_handler.rb
+++ b/proton-c/bindings/ruby/lib/handler/outgoing_message_handler.rb
@@ -22,7 +22,7 @@ module Qpid::Proton::Handler
   # A utility for simpler and more intuitive handling of delivery events
   # related to outgoing messages.
   #
-  class OutgoingMessageHandler < Qpid::Proton::BaseHandler
+  class OutgoingMessageHandler
 
     def initialize(auto_settle = true, delegate = nil)
       @auto_settle = auto_settle

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/1f06e4bf/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 62e308b..a733393 100644
--- a/proton-c/bindings/ruby/lib/qpid_proton.rb
+++ b/proton-c/bindings/ruby/lib/qpid_proton.rb
@@ -81,7 +81,6 @@ require "core/ssl_domain"
 require "core/ssl_details"
 require "core/ssl"
 require "core/transport"
-require "core/base_handler"
 require "core/url"
 require "core/connection_driver"
 
@@ -99,18 +98,21 @@ require "handler/endpoint_state_handler"
 require "handler/incoming_message_handler"
 require "handler/outgoing_message_handler"
 require "handler/c_flow_controller"
-require "handler/messaging_handler"
 
-# Core classes that depend on handlers and events
+# Core classes that depend on Handler
+require "core/messaging_handler"
 require "core/container"
 require "core/connection_driver"
 
-# Reactor classes for backwards compatibility
+# Backwards compatibility shims
 require "reactor/container"
 
-module Qpid::Proton
+module Qpid::Proton::Handler
+  # @deprecated alias for backwards compatibility
+  MessagingHandler = Qpid::Proton::MessagingHandler
+end
 
-  include Qpid::Proton::Handler
+module Qpid::Proton
   Tracker = Delivery
 
   # @private


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org