Openfire 3.9.3 Javadoc

org.jivesoftware.openfire
Class MulticastRouter

java.lang.Object
  extended by org.jivesoftware.openfire.container.BasicModule
      extended by org.jivesoftware.openfire.MulticastRouter
All Implemented Interfaces:
Module, ServerFeaturesProvider, org.xmpp.component.IQResultListener

public class MulticastRouter
extends BasicModule
implements ServerFeaturesProvider, org.xmpp.component.IQResultListener

Router of packets with multiple recipients. Clients may send a single packet with multiple recipients and the server will broadcast the packet to the target receipients. If recipients belong to remote servers, then this server will discover if remote target servers support multicast service. If a remote server supports the multicast service, a single packet will be sent to the remote server. If a remote server doesn't the support multicast processing, the local server sends a copy of the original stanza to each address.

The current implementation will only search up to the first level of nodes of remote servers when trying to find out if remote servers have support for multicast service. It is assumed that it is highly unlikely for servers to have a node in the second or third depth level providing the multicast service. Servers should normally provide this service themselves or at least as a first level node. This is an implementation of JEP-0033: Extended Stanza Addressing

Author:
Matt Tucker

Constructor Summary
MulticastRouter()
           
 
Method Summary
 void answerTimeout(String packetId)
           
 Iterator<String> getFeatures()
          Returns an Iterator (of String) with the supported features by the server.
 void initialize(XMPPServer server)
          Initializes the basic module.
 void receivedAnswer(org.xmpp.packet.IQ packet)
           
 void route(org.xmpp.packet.Packet packet)
           
 
Methods inherited from class org.jivesoftware.openfire.container.BasicModule
destroy, getName, start, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MulticastRouter

public MulticastRouter()
Method Detail

route

public void route(org.xmpp.packet.Packet packet)

receivedAnswer

public void receivedAnswer(org.xmpp.packet.IQ packet)
Specified by:
receivedAnswer in interface org.xmpp.component.IQResultListener

answerTimeout

public void answerTimeout(String packetId)
Specified by:
answerTimeout in interface org.xmpp.component.IQResultListener

getFeatures

public Iterator<String> getFeatures()
Description copied from interface: ServerFeaturesProvider
Returns an Iterator (of String) with the supported features by the server. The features to include are the features offered and supported protocols by the SERVER. The idea is that different modules may provide their features that will ultimately be part of the features offered by the server.

Specified by:
getFeatures in interface ServerFeaturesProvider
Returns:
an Iterator (of String) with the supported features by the server.

initialize

public void initialize(XMPPServer server)
Description copied from class: BasicModule

Initializes the basic module.

Inheriting classes that choose to override this method MUST call this initialize() method before accessing BasicModule resources.

Specified by:
initialize in interface Module
Overrides:
initialize in class BasicModule
Parameters:
server - the server hosting this module.

Openfire 3.9.3 Javadoc

Copyright © 2003-2008 Jive Software.