class Qpid::Proton::Handler::MessagingHandler

A general purpose handler that simplifies processing events.

Attributes

handlers[R]

Public Class Methods

new(prefetch = 10, auto_accept = true, auto_settle = true, peer_close_is_error = false) click to toggle source

Creates a new instance.

@param [Integer] prefetch @param [Boolean] auto_accept @param [Boolean] auto_settle @param [Boolean] peer_close_is_error

# File lib/handler/messaging_handler.rb, line 35
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

Public Instance Methods

on_accepted(event) click to toggle source

Called when the remote peer accepts an outgoing message.

This method needs to be overridden.

@param event [Qpid::Proton::Event::Event] The event.

# File lib/handler/messaging_handler.rb, line 165
def on_accepted(event)
end
on_connection_closed(event) click to toggle source

Called when the connection is closed.

This method needs to be overridden.

@param event [Qpid::Proton::Event::Event] The event.

# File lib/handler/messaging_handler.rb, line 92
def on_connection_closed(event)
end
on_connection_closing(event) click to toggle source

Called when the peer initiates the closing of the connection.

This method needs to be overridden.

@param event [Qpid::Proton::Event::Event] The event.

# File lib/handler/messaging_handler.rb, line 119
def on_connection_closing(event)
end
on_connection_error(event) click to toggle source

Called when the peer closes the connection with an error condition.

@param event [Qpid::Proton::Event::Event] The event.

# File lib/handler/messaging_handler.rb, line 47
def on_connection_error(event)
  EndpointStateHandler.print_error(event.connection, "connection")
end
on_disconnected(event) click to toggle source

Called when the socket is disconnected.

This method needs to be overridden.

@param event [Qpid::Proton::Event::Event] The event.

# File lib/handler/messaging_handler.rb, line 146
def on_disconnected(event)
end
on_message(event) click to toggle source

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.

# File lib/handler/messaging_handler.rb, line 211
def on_message(event)
end
on_reactor_init(event) click to toggle source

Called when the event loop starts.

@param event [Qpid::Proton::Event::Event] The event.

# File lib/handler/messaging_handler.rb, line 73
def on_reactor_init(event)
  self.on_start(event)
end
on_rejected(event) click to toggle source

Called when the remote peer rejects an outgoing message.

This method needs to be overridden.

@param event [Qpid::Proton::Event::Event] The event.

# File lib/handler/messaging_handler.rb, line 174
def on_rejected(event)
end
on_released(event) click to toggle source

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.

# File lib/handler/messaging_handler.rb, line 186
def on_released(event)
end
on_sendable(event) click to toggle source

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.

# File lib/handler/messaging_handler.rb, line 156
def on_sendable(event)
end
on_session_closed(event) click to toggle source

Called when the session is closed.

This method needs to be overridden.

@param event [Qpid::Proton::Event::Event] The event.

# File lib/handler/messaging_handler.rb, line 101
def on_session_closed(event)
end
on_session_closing(event) click to toggle source

Called when the peer initiates the closing of the session.

This method needs to be overridden.

@param event [Qpid::Proton::Event::Event] The event.

# File lib/handler/messaging_handler.rb, line 128
def on_session_closing(event)
end
on_session_error(event) click to toggle source

Called when the peer closes the session with an error condition.

@param event [Qpid:Proton::Event::Event] The event.

# File lib/handler/messaging_handler.rb, line 55
def on_session_error(event)
  EndpointStateHandler.print_error(event.session, "session")
  event.connection.close
end
on_settled(event) click to toggle source

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.

# File lib/handler/messaging_handler.rb, line 197
def on_settled(event)
end
on_start(event) click to toggle source

Called when the event loop starts.

This method needs to be overridden.

@param event [Qpid::Proton::Event::Event] The event.

# File lib/handler/messaging_handler.rb, line 83
def on_start(event)
end