- Timestamp:
- 06/24/13 13:38:40 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
java/main/src/main/java/com/framsticks/communication/Connection.java
r84 r85 1 1 package com.framsticks.communication; 2 2 3 import com.framsticks.util.io.Encoding; 3 4 import com.framsticks.util.lang.Pair; 4 5 import org.apache.log4j.Logger; … … 6 7 import java.io.IOException; 7 8 import java.io.InputStreamReader; 9 import java.io.OutputStreamWriter; 8 10 import java.io.PrintWriter; 9 import java.lang.Thread;10 11 import java.net.Socket; 11 12 import java.net.SocketTimeoutException; 12 13 import java.util.regex.Matcher; 13 14 import java.util.regex.Pattern; 15 16 import com.framsticks.util.dispatching.RunAt; 17 import com.framsticks.util.dispatching.Thread; 14 18 15 19 public abstract class Connection { … … 28 32 protected int protocolVersion = -1; 29 33 30 protected final com.framsticks.util.dispatching.Thread senderThread = new com.framsticks.util.dispatching.Thread();31 protected Thread receiverThread;34 protected final Thread<Connection> senderThread = new Thread<>(); 35 protected final Thread<Connection> receiverThread = new Thread<>(); 32 36 33 37 public boolean isConnected() { … … 42 46 senderThread.interrupt(); 43 47 senderThread.join(); 44 if (receiverThread != null) { 45 receiverThread.interrupt(); 46 receiverThread.join(); 47 receiverThread = null; 48 } 48 49 receiverThread.interrupt(); 50 receiverThread.join(); 49 51 50 52 if (output != null) { … … 72 74 73 75 protected static final String ARGUMENT_PATTERN_FRAGMENT = "((?:\\S+)|(?:\"[^\"]*\"))"; 74 protected static Pattern requestIdEnabledPattern = Pattern.compile("^\\s*([0-9]+)(?:\\s+" + ARGUMENT_PATTERN_FRAGMENT + ")?\\n$");75 protected static Pattern requestIDisabledPattern = Pattern.compile("^\\s*" + ARGUMENT_PATTERN_FRAGMENT + "?\\n$");76 protected static Pattern eventPattern = Pattern.compile("^\\s*(\\S+)\\s*(\\S+)\\n");76 protected static final Pattern requestIdEnabledPattern = Pattern.compile("^\\s*([0-9]+)(?:\\s+" + ARGUMENT_PATTERN_FRAGMENT + ")?\\n$"); 77 protected static final Pattern requestIDisabledPattern = Pattern.compile("^\\s*" + ARGUMENT_PATTERN_FRAGMENT + "?\\n$"); 78 protected static final Pattern eventPattern = Pattern.compile("^\\s*(\\S+)\\s*(\\S+)\\n"); 77 79 78 80 … … 126 128 protected void runThreads() { 127 129 try { 128 output = new PrintWriter( socket.getOutputStream(), true);129 input = new BufferedReader(new InputStreamReader(socket.getInputStream() ));130 output = new PrintWriter(new OutputStreamWriter(socket.getOutputStream(), Encoding.getFramsticksCharset()), true); 131 input = new BufferedReader(new InputStreamReader(socket.getInputStream(), Encoding.getFramsticksCharset())); 130 132 } catch (IOException e) { 131 133 log.error("buffer creation failure"); … … 135 137 136 138 senderThread.setName(this + "-sender"); 137 receiverThread = new Thread(new Runnable() { 139 receiverThread.setName(this + "-receiver"); 140 141 senderThread.start(); 142 receiverThread.start(); 143 144 receiverThread.invokeLater(new RunAt<Connection>() { 138 145 @Override 139 146 public void run() { … … 148 155 } 149 156 }); 150 receiverThread.setName(this + "-receiver");151 157 152 senderThread.start();153 receiverThread.start();154 158 } 155 159
Note: See TracChangeset
for help on using the changeset viewer.