You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by do...@apache.org on 2001/11/20 13:23:51 UTC
cvs commit: jakarta-avalon-cornerstone/apps/demo/src/java/org/apache/avalon/cornerstone/demos/simpleserver SimpleServer.java SimpleServer.xinfo
donaldp 01/11/20 04:23:51
Modified: apps/demo/src/conf avalon-demo-assembly.xml
apps/demo/src/java/org/apache/avalon/cornerstone/demos/simpleserver
SimpleServer.java SimpleServer.xinfo
Log:
Make SimpleServer depend on PacketManager so can be used to test that class.
Revision Changes Path
1.6 +3 -0 jakarta-avalon-cornerstone/apps/demo/src/conf/avalon-demo-assembly.xml
Index: avalon-demo-assembly.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/demo/src/conf/avalon-demo-assembly.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- avalon-demo-assembly.xml 2001/11/19 12:28:39 1.5
+++ avalon-demo-assembly.xml 2001/11/20 12:23:51 1.6
@@ -67,6 +67,9 @@
<!-- The names here must match the names specified for a Block in some conf.xml file.
The role should be the interface mentioned in the BlockInfo (.xinfo) files -->
+
+ <provide name="packet-manager"
+ role="org.apache.avalon.cornerstone.services.packet.PacketManager"/>
<provide name="sockets" role="org.apache.avalon.cornerstone.services.sockets.SocketManager"/>
<provide name="connections"
role="org.apache.avalon.cornerstone.services.connection.ConnectionManager" />
1.6 +42 -1 jakarta-avalon-cornerstone/apps/demo/src/java/org/apache/avalon/cornerstone/demos/simpleserver/SimpleServer.java
Index: SimpleServer.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/demo/src/java/org/apache/avalon/cornerstone/demos/simpleserver/SimpleServer.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- SimpleServer.java 2001/11/19 12:28:39 1.5
+++ SimpleServer.java 2001/11/20 12:23:51 1.6
@@ -10,6 +10,8 @@
import java.io.*;
import java.net.ProtocolException;
import java.net.ServerSocket;
+import java.net.DatagramSocket;
+import java.net.DatagramPacket;
import java.net.Socket;
import java.net.SocketException;
import java.util.Iterator;
@@ -24,6 +26,9 @@
import org.apache.avalon.cornerstone.services.scheduler.TimeTrigger;
import org.apache.avalon.cornerstone.services.sockets.ServerSocketFactory;
import org.apache.avalon.cornerstone.services.sockets.SocketManager;
+import org.apache.avalon.cornerstone.services.packet.PacketManager;
+import org.apache.avalon.cornerstone.services.packet.PacketHandler;
+import org.apache.avalon.cornerstone.services.packet.PacketHandlerFactory;
import org.apache.avalon.cornerstone.services.store.ObjectRepository;
import org.apache.avalon.cornerstone.services.store.Store;
import org.apache.avalon.framework.activity.Initializable;
@@ -57,7 +62,7 @@
public class SimpleServer
extends AbstractLogEnabled
implements Block, SimpleService, Contextualizable, Composable, Configurable, Initializable,
- ConnectionHandlerFactory, ConnectionHandler, Target
+ ConnectionHandlerFactory, ConnectionHandler, Target, PacketHandler, PacketHandlerFactory
{
private TimeScheduler m_timeScheduler;
private Configuration m_configuration;
@@ -65,6 +70,7 @@
private ConnectionManager m_connectionManager;
private Store m_testStore;
private ObjectRepository m_repository;
+ private PacketManager m_packetManager;
private PrintWriter m_out;
private int m_count;
@@ -87,6 +93,7 @@
m_socketManager = (SocketManager)componentManager.lookup( SocketManager.ROLE );
m_connectionManager = (ConnectionManager)componentManager.lookup( ConnectionManager.ROLE );
m_timeScheduler = (TimeScheduler)componentManager.lookup( TimeScheduler.ROLE );
+ m_packetManager = (PacketManager)componentManager.lookup( PacketManager.ROLE );
}
public void configure( final Configuration configuration )
@@ -136,7 +143,41 @@
ExtensionTestClass2.doSomeThing();
getLogger().info( "...successful test" );
+ getLogger().info( "Creating datagram socket..." );
+ final DatagramSocket datagramSocket = new DatagramSocket( 5053 );
+ getLogger().info( "...successful" );
+
+ getLogger().info( "Connecting datagram socket..." );
+ m_packetManager.connect( "udp/5053", datagramSocket, this );
+ getLogger().info( "...successful" );
+
getLogger().info( "...Demo init" );
+ }
+
+ /**
+ * Construct an appropriate PacketHandler.
+ *
+ * @return the new PacketHandler
+ * @exception Exception if an error occurs
+ */
+ public PacketHandler createPacketHandler()
+ throws Exception
+ {
+ return this;
+ }
+
+ /**
+ * Handle a datgram packet.
+ * This handler is responsible for processing packets as they occur.
+ *
+ * @param packet the packet
+ * @exception IOException if an error reading from socket occurs
+ * @exception ProtocolException if an error handling connection occurs
+ */
+ public void handlePacket( final DatagramPacket packet )
+ throws IOException, ProtocolException
+ {
+ System.out.println( "Pickety pickety pop - got a packet!" );
}
/**
1.4 +3 -0 jakarta-avalon-cornerstone/apps/demo/src/java/org/apache/avalon/cornerstone/demos/simpleserver/SimpleServer.xinfo
Index: SimpleServer.xinfo
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/demo/src/java/org/apache/avalon/cornerstone/demos/simpleserver/SimpleServer.xinfo,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- SimpleServer.xinfo 2001/09/24 02:14:05 1.3
+++ SimpleServer.xinfo 2001/11/20 12:23:51 1.4
@@ -24,6 +24,9 @@
<service name="org.apache.avalon.cornerstone.services.sockets.SocketManager" version="1.0"/>
</dependency>
<dependency>
+ <service name="org.apache.avalon.cornerstone.services.packet.PacketManager" version="1.0"/>
+ </dependency>
+ <dependency>
<service name="org.apache.avalon.cornerstone.services.scheduler.TimeScheduler" version="1.0"/>
</dependency>
</dependencies>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>