001    /*
002     * $Id: DefaultReadLoop.java,v 1.1.1.1 2002/06/05 21:56:32 root Exp $
003     *
004     * Developed for "Rethinking CS101", a project of Lynn Andrea Stein's AP Group.
005     * For more information, see <a href="http://www.ai.mit.edu/projects/cs101/">the
006     * CS101 homepage</a> or email <las@ai.mit.edu>.
007     *
008     * Copyright (C) 1996 Massachusetts Institute of Technology.
009     * Please do not redistribute without obtaining permission.
010     */
011    package cs101.net;
012    
013    import java.io.*;
014    
015    /**
016     * A generic read loop for a client.
017     *
018     * <P>Copyright (c) 1998 Massachusetts Institute of Technology
019     *
020     * @see cs101.net.Client
021     *
022     * @author Todd C. Parnell, tparnell@ai.mit.edu
023     * @author Lynn Andrea Stein, las@ai.mit.edu
024     * @version $Id: DefaultReadLoop.java,v 1.1.1.1 2002/06/05 21:56:32 root Exp $
025     */
026    public class DefaultReadLoop implements Runnable {
027    
028        /** Communicates with the network. */
029        protected Client client;
030        /** Animates this object.*/
031        protected Thread spirit;
032    
033    
034        /**
035         * A generic read loop for client.
036         *
037         * @see cs101.net.Client
038         */
039        public DefaultReadLoop ( Client c ) {
040            this.client = c;
041            this.spirit = new Thread (this);
042            this.spirit.start();
043        }
044    
045        /**
046         * Called by this object's thread.  Shouldn't be called otherwise.
047         */
048        public void run () {
049          BufferedReader in = 
050            new BufferedReader(new InputStreamReader(System.in));
051            while (true) {
052                System.out.println(">>");
053                System.out.flush();
054                try {
055                    this.client.send( in.readLine() );
056                } catch (IOException e) {}
057            }
058        }
059    }
060    
061    /*
062     * $Log: DefaultReadLoop.java,v $
063     * Revision 1.1.1.1  2002/06/05 21:56:32  root
064     * CS101 comes to Olin finally.
065     *
066     * Revision 1.5  1998/07/24 17:13:39  tparnell
067     * Placate new javadoc behavior
068     *
069     * Revision 1.4  1998/07/22 18:17:54  tparnell
070     * move from util to net
071     *
072     * Revision 1.3  1998/06/03 21:56:46  tparnell
073     * minor bugfix
074     *
075     * Revision 1.2  1998/06/03 19:28:16  tparnell
076     * update from Java 1.0 to 1.1.
077     *
078     * Revision 1.1  1998/03/13 22:18:11  tparnell
079     * Import from server crash.  I think the src and class files match up.
080     *
081     */
082    
083