Changeset 13fd613


Ignore:
Timestamp:
Nov 25, 2015 5:27:37 PM (5 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
612e01c
Parents:
6b67a70b
Message:

more client test enhancements

Location:
apps/sam/java/src/net/i2p/sam/client
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • apps/sam/java/src/net/i2p/sam/client/SAMReader.java

    r6b67a70b r13fd613  
    2121    private final SAMClientEventListener _listener;
    2222    private volatile boolean _live;
     23    private Thread _thread;
    2324   
    2425    public SAMReader(I2PAppContext context, InputStream samIn, SAMClientEventListener listener) {
     
    2829    }
    2930   
    30     public void startReading() {
     31    public synchronized void startReading() {
     32        if (_live)
     33            throw new IllegalStateException();
    3134        _live = true;
    3235        I2PAppThread t = new I2PAppThread(new Runner(), "SAM reader");
    3336        t.start();
    34     }
    35 
    36     public void stopReading() { _live = false; }
     37        _thread = t;
     38    }
     39
     40    public synchronized void stopReading() {
     41        _live = false;
     42        if (_thread != null) {
     43            _thread.interrupt();
     44            _thread = null;
     45        }
     46    }
    3747   
    3848    /**
     
    90100                    if (c == -1) {
    91101                        _log.error("Error reading from the SAM bridge");
    92                         return;
     102                        break;
    93103                    }
    94104                } catch (IOException ioe) {
    95105                    _log.error("Error reading from SAM", ioe);
     106                    break;
    96107                }
    97108               
     
    104115                }
    105116               
    106                 _log.debug("Line read from the bridge: " + line);
     117                if (_log.shouldDebug())
     118                    _log.debug("Line read from the bridge: " + line);
    107119               
    108120                StringTokenizer tok = new StringTokenizer(line);
     
    111123                    _log.error("Invalid SAM line: [" + line + "]");
    112124                    _live = false;
    113                     return;
     125                    break;
    114126                }
    115127               
     
    134146                processEvent(major, minor, params);
    135147            }
     148            if (_log.shouldWarn())
     149                _log.warn("SAMReader exiting");
    136150        }
    137151    }
  • apps/sam/java/src/net/i2p/sam/client/SAMStreamSend.java

    r6b67a70b r13fd613  
    264264           
    265265            closed();
     266            if (_log.shouldLog(Log.DEBUG))
     267                _log.debug("Runner exiting");
     268            // stop the reader, since we're only doing this once for testing
     269            // you wouldn't do this in a real application
     270            _reader.stopReading();
    266271        }
    267272    }
Note: See TracChangeset for help on using the changeset viewer.