Class MultiplexerPacketDeliverer
- java.lang.Object
-
- org.jivesoftware.openfire.multiplex.MultiplexerPacketDeliverer
-
- All Implemented Interfaces:
PacketDeliverer
public class MultiplexerPacketDeliverer extends Object implements PacketDeliverer
Fallback method used bySocketConnectionwhen connected to a connection manager. The fallback method will be used when a SocketConnection fails to send aPacket(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
Messagemay 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 Summary
Constructors Constructor Description MultiplexerPacketDeliverer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddeliver(org.xmpp.packet.Packet packet)Delivers the given packet based on packet recipient and sender.voidsetConnectionManagerDomain(String connectionManagerDomain)
-
-
-
Method Detail
-
setConnectionManagerDomain
public void setConnectionManagerDomain(String connectionManagerDomain)
-
deliver
public void deliver(org.xmpp.packet.Packet packet) throws UnauthorizedException, PacketExceptionDescription copied from interface:PacketDelivererDelivers the given packet based on packet recipient and sender. The deliverer defers actual routing decisions to other classes.Warning
Be careful to enforce concurrency DbC of concurrent by synchronizing any accesses to class resources.- Specified by:
deliverin interfacePacketDeliverer- Parameters:
packet- the packet to route- Throws:
UnauthorizedException- if the user is not authorisedPacketException- if the packet is null or the packet could not be routed.
-
-