You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by tr...@apache.org on 2004/11/04 17:49:47 UTC
svn commit: rev 56608 - incubator/directory/seda/trunk/src/java/org/apache/seda/output
Author: trustin
Date: Thu Nov 4 08:49:47 2004
New Revision: 56608
Modified:
incubator/directory/seda/trunk/src/java/org/apache/seda/output/UDPOutputManager.java
Log:
UDPOutputManager does not listen to Connect/Disconnect events anymore because they are not needed.
Modified: incubator/directory/seda/trunk/src/java/org/apache/seda/output/UDPOutputManager.java
==============================================================================
--- incubator/directory/seda/trunk/src/java/org/apache/seda/output/UDPOutputManager.java (original)
+++ incubator/directory/seda/trunk/src/java/org/apache/seda/output/UDPOutputManager.java Thu Nov 4 08:49:47 2004
@@ -19,16 +19,9 @@
import java.io.IOException;
import java.nio.ByteBuffer;
-import java.nio.channels.DatagramChannel;
import java.util.EventObject;
-import java.util.HashMap;
-import java.util.Map;
import org.apache.seda.event.AbstractSubscriber;
-import org.apache.seda.event.ConnectEvent;
-import org.apache.seda.event.ConnectSubscriber;
-import org.apache.seda.event.DisconnectEvent;
-import org.apache.seda.event.DisconnectSubscriber;
import org.apache.seda.event.EventFilter;
import org.apache.seda.event.EventRouter;
import org.apache.seda.event.OutputEvent;
@@ -37,7 +30,6 @@
import org.apache.seda.event.filter.CompositeEventFilter;
import org.apache.seda.event.filter.EventTypeFilter;
import org.apache.seda.listener.ClientKey;
-import org.apache.seda.listener.KeyExpiryException;
import org.apache.seda.listener.UDPClientKey;
import org.apache.seda.stage.DefaultStage;
import org.apache.seda.stage.DefaultStageConfig;
@@ -52,9 +44,7 @@
* @version $Rev$
*/
public class UDPOutputManager extends DefaultStage implements OutputManager,
- OutputSubscriber,
- ConnectSubscriber,
- DisconnectSubscriber
+ OutputSubscriber
{
/** the router we subscribe for OutputEvents on */
private final EventRouter router;
@@ -62,9 +52,6 @@
/** the monitor used to track notable events in this OutputManager */
private OutputMonitor monitor;
- /** a map of channels by ClientKey */
- private Map channels = new HashMap();
-
// ------------------------------------------------------------------------
// constructors
// ------------------------------------------------------------------------
@@ -118,36 +105,6 @@
enqueue(event);
}
- /* (non-Javadoc)
- * @see org.apache.seda.event.ConnectSubscriber#inform(
- * org.apache.seda.event.ConnectEvent)
- */
- public void inform(ConnectEvent event)
- {
- UDPClientKey key = (UDPClientKey) event.getClientKey();
-
- try
- {
- channels.put(key, key.getSocket().getChannel());
- }
- catch (KeyExpiryException e)
- {
- monitor.keyExpired(this, key, e);
- }
-
- monitor.addedClient(this, event);
- }
-
- /* (non-Javadoc)
- * @see org.apache.seda.event.DisconnectSubscriber#inform(
- * org.apache.seda.event.DisconnectEvent)
- */
- public void inform(DisconnectEvent event)
- {
- channels.remove(event.getClientKey());
- monitor.removedClient(this, event);
- }
-
// ------------------------------------------------------------------------
// OutputManager method
// ------------------------------------------------------------------------
@@ -160,15 +117,8 @@
public void write(ClientKey key, ByteBuffer buf)
throws IOException
{
- DatagramChannel channel = (DatagramChannel) channels.get(key);
-
- if (null == channel)
- {
- monitor.channelMissing(this, key);
- return;
- }
-
- channel.send(buf, key.getRemoteAddress());
+ UDPClientKey udpKey = (UDPClientKey) key;
+ udpKey.getSocket().getChannel().send(buf, key.getRemoteAddress());
monitor.writeOccurred(this, key);
}