Class MultiplexerPacketDeliverer
- java.lang.Object
-
- org.jivesoftware.openfire.multiplex.MultiplexerPacketDeliverer
-
- All Implemented Interfaces:
PacketDeliverer
public class MultiplexerPacketDeliverer extends Object implements PacketDeliverer
Fallback method used byNettyConnection
when connected to a connection manager. The fallback method will be used when a connection 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
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 Summary
Constructors Constructor Description MultiplexerPacketDeliverer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
deliver(org.xmpp.packet.Packet packet)
Delivers the given packet based on packet recipient and sender.void
setConnectionManagerDomain(String connectionManagerDomain)
-
-
-
Method Detail
-
setConnectionManagerDomain
public void setConnectionManagerDomain(String connectionManagerDomain)
-
deliver
public void deliver(org.xmpp.packet.Packet packet) throws UnauthorizedException, PacketException
Description copied from interface:PacketDeliverer
Delivers 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:
deliver
in 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.
-
-