Class MultiplexerPacketDeliverer

java.lang.Object
org.jivesoftware.openfire.multiplex.MultiplexerPacketDeliverer
All Implemented Interfaces:
PacketDeliverer

public class MultiplexerPacketDeliverer extends Object implements PacketDeliverer
Fallback method used by NettyConnection when connected to a connection manager. The fallback method will be used when a connection fails to send a Packet (probably because the socket was closed).

The first attempt will be to send the packet using another connection to the same connection manager (since managers may have a pool of connections to the server). And if that fails then instances of Message may be stored offline for later retrieval. Since packets may be wrapped by special IQ packets (read the Connection Manager JEP for more information) we need to unwrap the packet and store the wrapped packet offline.

Author:
Gaston Dombiak
  • Constructor Details

    • MultiplexerPacketDeliverer

      public MultiplexerPacketDeliverer()
  • Method Details

    • setConnectionManagerDomain

      public void setConnectionManagerDomain(String connectionManagerDomain)
    • deliver

      public void deliver(@Nonnull org.xmpp.packet.Packet stanza) throws UnauthorizedException, PacketException
      Description copied from interface: PacketDeliverer
      Delivers the given stanza based on its recipient and sender. Invocation of this method blocks until the deliverer finishes processing the stanza. The deliverer defers actual routing decisions to other classes.
      Specified by:
      deliver in interface PacketDeliverer
      Parameters:
      stanza - the stanza to route
      Throws:
      UnauthorizedException - if the user is not authorised
      PacketException - if the packet is null or the packet could not be routed.