ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/server/uk/org/iscream/cms/server/filter/UDPReader.java
(Generate patch)

Comparing projects/cms/source/server/uk/org/iscream/cms/server/filter/UDPReader.java (file contents):
Revision 1.6 by tdb, Wed Nov 29 19:26:00 2000 UTC vs.
Revision 1.11 by ajm, Wed Dec 13 21:11:26 2000 UTC

# Line 7 | Line 7 | import java.net.*;
7   import java.util.*;
8   import uk.ac.ukc.iscream.core.*;
9   import uk.ac.ukc.iscream.filter.*;
10 + import uk.ac.ukc.iscream.util.*;
11  
12   /**
13   * This class contains the main method to be run by
# Line 23 | Line 24 | public class UDPReader extends Thread{
24       * The current CVS revision of this class
25       */
26      public final String REVISION = "$Revision$";
27 +
28 +    /**
29 +     * The maximum size of a packet
30 +     */
31 +    private final int packetSizeLimit = 8192;  
32      
33   //---STATIC METHODS---
34  
35   //---CONSTRUCTORS---
36  
37 <    // It is normal to use this constructor in preference
38 <    // to any other in this class.
39 <    public UDPReader(int port, Filter parent, Logger logger){
40 <        this.logger = logger;
41 <        this.port = port;
42 <        this.parent = parent;
37 >    /**
38 >     * It is normal to use this constructor in preference
39 >     * to any other in this class.
40 >     */
41 >    public UDPReader(int port, Filter parent){
42 >        _port = port;
43 >        _parent = parent;
44      }
38    
39    public UDPReader(Filter parent, Logger logger){
40        this(4589, parent, logger);
41    }
45  
46   //---PUBLIC METHODS---
47  
# Line 46 | Line 49 | public class UDPReader extends Thread{
49  
50          DatagramSocket socket = null;
51          try {
52 <            socket = new DatagramSocket(port);
52 >            socket = new DatagramSocket(_port);
53          }
54          catch (BindException e){
55 <            logger.write(this.toString(), Logger.FATAL, "Could not start the UDPReader thread on port "+port+" as this port was already in use.");
55 >            _logger.write(this.toString(), Logger.FATAL, "Could not start the UDPReader thread on port "+_port+" as this port was already in use.");
56              return;
57          }
58          catch (Exception e){
59 <            logger.write(this.toString(), Logger.FATAL, "Could not start the UDPReader thread on port "+port+".");
59 >            _logger.write(this.toString(), Logger.FATAL, "Could not start the UDPReader thread on port "+_port+".");
60              return;
61          }
62          
63 <        logger.write(this.toString(), Logger.SYSMSG, "UDPReader thread ready and listening for UDP packets on port "+port);
63 >        _logger.write(this.toString(), Logger.SYSMSG, "UDPReader thread ready and listening for UDP packets on port "+_port);
64  
65          byte[] buf;
66          
# Line 69 | Line 72 | public class UDPReader extends Thread{
72                  buf = new byte[packetSizeLimit];
73                  DatagramPacket packet = new DatagramPacket(buf, buf.length);
74                  socket.receive(packet);
75 <                FilterThread t = new FilterThread(packet, parent, logger);
75 >                FilterThread t = new FilterThread(packet, _parent);
76                  t.start();
77  
78              }
79              catch (IOException e) {
80 <                logger.write(this.toString(), Logger.WARNING, "This UDPReader thread has been shut down as an exception occured: "+e);
80 >                _logger.write(this.toString(), Logger.WARNING, "This UDPReader thread has been shut down as an exception occured: "+e);
81                  return;
82              }
83          }
# Line 85 | Line 88 | public class UDPReader extends Thread{
88       * Overrides the {@link java.lang.Object#toString() Object.toString()}
89       * method to provide clean logging (every class should have this).
90       *
91 +     * This uses the uk.ac.ukc.iscream.util.NameFormat class
92 +     * to format the toString()
93 +     *
94       * @return the name of this class and its CVS revision
95       */
96      public String toString() {
97 <        return this.getClass().getName() + "(" + REVISION.substring(11, REVISION.length() - 2) + ")";
97 >        return FormatName.getName(
98 >            _name,
99 >            getClass().getName(),
100 >            REVISION);
101      }
102  
103   //---PRIVATE METHODS---
# Line 97 | Line 106 | public class UDPReader extends Thread{
106  
107   //---ATTRIBUTES---
108  
109 <    Logger logger;
110 <    int port;
111 <    Filter parent;    
109 >    /**
110 >     * This is the friendly identifier of the
111 >     * component this class is running in.
112 >     * eg, a Filter may be called "filter1",
113 >     * If this class does not have an owning
114 >     * component,  a name from the configuration
115 >     * can be placed here.  This name could also
116 >     * be changed to null for utility classes.
117 >     */
118 >    private String _name = FilterMain.NAME;
119  
120 <    final int packetSizeLimit = 8192;
120 >    /**
121 >     * This holds a reference to the
122 >     * system logger that is being used.
123 >     */
124 >    private Logger _logger = ReferenceManager.getInstance().getLogger();
125 >    
126 >    /**
127 >     * The port that this reader is using
128 >     */
129 >    int _port;
130 >    
131 >    /**
132 >     * The parent of this filter
133 >     */
134 >    Filter _parent;    
135  
136   //---STATIC ATTRIBUTES---
137  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines