Author: berndf
Date: Thu Apr 1 09:35:08 2010
New Revision: 929894
URL: http://svn.apache.org/viewvc?rev=929894&view=rev
Log:
VYSPER-192, javadoc for the whole delivery package
Modified:
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/LocalDeliveryUtils.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/OfflineStanzaReceiver.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/RecordingStanzaRelay.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaReceiverQueue.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaReceiverRelay.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelay.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelayBroker.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInboundStanzaRelay.java
Modified:
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/LocalDeliveryUtils.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/LocalDeliveryUtils.java?rev=929894&r1=929893&r2=929894&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/LocalDeliveryUtils.java
(original)
+++
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/LocalDeliveryUtils.java
Thu Apr 1 09:35:08 2010
@@ -33,6 +33,12 @@ public class LocalDeliveryUtils {
final static Logger logger =
LoggerFactory.getLogger(LocalDeliveryUtils.class);
+ /**
+ * delivers a stanza to a server-local resource. used for sending a stanza
to all resources of the same user.
+ * @param registry registry to look up session by resource ID
+ * @param resource receiving resource ID
+ * @param push stanza to be pushed
+ */
public static void relayToResourceDirectly(ResourceRegistry registry,
String resource, Stanza push) {
try {
SessionContext targetContext =
registry.getSessionContext(resource);
Modified:
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/OfflineStanzaReceiver.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/OfflineStanzaReceiver.java?rev=929894&r1=929893&r2=929894&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/OfflineStanzaReceiver.java
(original)
+++
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/OfflineStanzaReceiver.java
Thu Apr 1 09:35:08 2010
@@ -22,7 +22,8 @@ package org.apache.vysper.xmpp.delivery;
import org.apache.vysper.xmpp.stanza.Stanza;
/**
- * receives stanzas addressed to offline receivers
+ * receives stanzas addressed to receivers which are currently offline
+ * handles persistency, retry and expiration
* TODO: this is more or less a placeholder interface currently.
*/
public interface OfflineStanzaReceiver {
Modified:
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/RecordingStanzaRelay.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/RecordingStanzaRelay.java?rev=929894&r1=929893&r2=929894&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/RecordingStanzaRelay.java
(original)
+++
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/RecordingStanzaRelay.java
Thu Apr 1 09:35:08 2010
@@ -29,8 +29,8 @@ import java.util.Iterator;
/**
* a relay which does not relay anything but simply records the sequence of
entity/stanza pairs received
- * and makes it accessible for debugging or testing purposes
- * for a little bit more advanced testing relay see StanzaReceiverRelay
+ * and makes it accessible for debugging or testing purposes.
+ * for a little bit more advanced testing relay see StanzaReceiverRelay.
*
* @author The Apache MINA Project ([email protected])
*/
Modified:
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaReceiverQueue.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaReceiverQueue.java?rev=929894&r1=929893&r2=929894&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaReceiverQueue.java
(original)
+++
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaReceiverQueue.java
Thu Apr 1 09:35:08 2010
@@ -25,7 +25,7 @@ import java.util.Queue;
import java.util.LinkedList;
/**
- * records stanzas as they come in
+ * records stanzas as they come in, holds them (as a 'stage') until they are
processed
*
* @author The Apache MINA Project ([email protected])
*/
Modified:
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaReceiverRelay.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaReceiverRelay.java?rev=929894&r1=929893&r2=929894&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaReceiverRelay.java
(original)
+++
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaReceiverRelay.java
Thu Apr 1 09:35:08 2010
@@ -46,6 +46,9 @@ public class StanzaReceiverRelay impleme
this.serverRuntimeContext = serverRuntimeContext;
}
+ /**
+ * add new receiver
+ */
public void add(Entity receiverID, StanzaReceiver receiver) {
receiverMap.put(receiverID, receiver);
}
@@ -80,6 +83,9 @@ public class StanzaReceiverRelay impleme
return countDelivered;
}
+ /**
+ * all receiver queues are emptied
+ */
public void resetAll() {
synchronized (receiverMap) {
for (StanzaReceiver receiver : receiverMap.values()) {
Modified:
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelay.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelay.java?rev=929894&r1=929893&r2=929894&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelay.java
(original)
+++
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelay.java
Thu Apr 1 09:35:08 2010
@@ -32,6 +32,13 @@ import org.apache.vysper.xmpp.delivery.f
*/
public interface StanzaRelay {
+ /**
+ * relaying a stanza
+ * @param receiver the stanza receiver
+ * @param stanza the payload
+ * @param deliveryFailureStrategy what to do in case of errors
+ * @throws DeliveryException relaying failed
+ */
public void relay(Entity receiver, Stanza stanza, DeliveryFailureStrategy
deliveryFailureStrategy) throws DeliveryException;
}
Modified:
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelayBroker.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelayBroker.java?rev=929894&r1=929893&r2=929894&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelayBroker.java
(original)
+++
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelayBroker.java
Thu Apr 1 09:35:08 2010
@@ -26,7 +26,9 @@ import org.apache.vysper.xmpp.delivery.f
import org.apache.vysper.xmpp.delivery.failure.DeliveryFailureStrategy;
/**
- * relays stanzas. handles message itself, routes to another server/domain or
delivers locally.
+ * central component for delivering stanzas.
+ * handles message by routing to another server/domain or delivers locally.
+ * messages are processed immediately, so this is not a 'staging' StanzaRelay
like the downstream internal and external relay.
*
* @author The Apache MINA Project ([email protected])
*/
@@ -36,10 +38,16 @@ public class StanzaRelayBroker implement
protected StanzaRelay externalRelay;
protected ServerRuntimeContext serverRuntimeContext;
+ /**
+ * a StanzaRelay receiving stanzas which are targeted to server-local JIDs
+ */
public void setInternalRelay(StanzaRelay internalRelay) {
this.internalRelay = internalRelay;
}
+ /**
+ * a StanzaRelay receiving stanzas which are targeted to JIDs which are
external to this server
+ */
public void setExternalRelay(StanzaRelay externalRelay) {
this.externalRelay = externalRelay;
}
Modified:
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInboundStanzaRelay.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInboundStanzaRelay.java?rev=929894&r1=929893&r2=929894&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInboundStanzaRelay.java
(original)
+++
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInboundStanzaRelay.java
Thu Apr 1 09:35:08 2010
@@ -302,7 +302,7 @@ public class DeliveringInboundStanzaRela
List<SessionContext> receivingSessions = prioThreshold == null ?
resourceRegistry.getSessions(receiver) :
-
resourceRegistry.getSessions(receiver, 0);
+
resourceRegistry.getSessions(receiver, prioThreshold);
if (receivingSessions.size() > 1) {
logger.warn("multiplexing: {} sessions will be processing {}
", receivingSessions.size(), stanza);