class Qpid::Proton::Handler::MessagingHandler

A general purpose handler that simplifies processing events.

@example

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 [Fixnum] prefetch @param [Boolean] auto_accept @param [Boolean] auto_settle @param [Boolean] peer_close_is_error

# File lib/handler/messaging_handler.rb, line 37
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 167
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 94
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 121
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 49
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 148
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 213
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 75
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 176
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 188
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 158
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 103
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 130
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 57
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 199
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 85
def on_start(event)
end