Merge branch 'master' of http://192.168.2.29:8990/r/Brainstorm
This commit is contained in:
@@ -326,19 +326,21 @@ public class WebServer {
|
|||||||
*/
|
*/
|
||||||
protected void flagWrite(boolean requiresWrite) {
|
protected void flagWrite(boolean requiresWrite) {
|
||||||
synchronized(key) {
|
synchronized(key) {
|
||||||
|
if(key.isValid()) {
|
||||||
int ops = key.interestOps();
|
int ops = key.interestOps();
|
||||||
boolean hasWrite = (ops & SelectionKey.OP_WRITE) != 0;
|
boolean hasWrite = (ops & SelectionKey.OP_WRITE) != 0;
|
||||||
|
|
||||||
if(requiresWrite) {
|
if(requiresWrite) {
|
||||||
if(!hasWrite) {
|
if(!hasWrite) {
|
||||||
if(key.isValid()) key.interestOps(ops | SelectionKey.OP_WRITE);
|
key.interestOps(ops | SelectionKey.OP_WRITE);
|
||||||
}//if//
|
}//if//
|
||||||
}//if//
|
}//if//
|
||||||
else {
|
else {
|
||||||
if(hasWrite) {
|
if(hasWrite) {
|
||||||
if(key.isValid()) key.interestOps(ops ^ SelectionKey.OP_WRITE);
|
key.interestOps(ops ^ SelectionKey.OP_WRITE);
|
||||||
}//if//
|
}//if//
|
||||||
}//else//
|
}//else//
|
||||||
|
}//if//
|
||||||
}//synchronized//
|
}//synchronized//
|
||||||
}//flagWrite()//
|
}//flagWrite()//
|
||||||
/**
|
/**
|
||||||
@@ -347,23 +349,26 @@ public class WebServer {
|
|||||||
*/
|
*/
|
||||||
protected void flagRead(boolean requiresRead) {
|
protected void flagRead(boolean requiresRead) {
|
||||||
synchronized(key) {
|
synchronized(key) {
|
||||||
|
if(key.isValid()) {
|
||||||
int ops = key.interestOps();
|
int ops = key.interestOps();
|
||||||
boolean hasRead = (ops & SelectionKey.OP_READ) != 0;
|
boolean hasRead = (ops & SelectionKey.OP_READ) != 0;
|
||||||
|
|
||||||
if(requiresRead) {
|
if(requiresRead) {
|
||||||
if(!hasRead) {
|
if(!hasRead) {
|
||||||
if(key.isValid()) key.interestOps(ops | SelectionKey.OP_READ);
|
key.interestOps(ops | SelectionKey.OP_READ);
|
||||||
}//if//
|
}//if//
|
||||||
}//if//
|
}//if//
|
||||||
else {
|
else {
|
||||||
if(hasRead) {
|
if(hasRead) {
|
||||||
if(key.isValid()) key.interestOps(ops ^ SelectionKey.OP_READ);
|
key.interestOps(ops ^ SelectionKey.OP_READ);
|
||||||
}//if//
|
}//if//
|
||||||
}//else//
|
}//else//
|
||||||
|
}//if//
|
||||||
}//synchronized//
|
}//synchronized//
|
||||||
}//flagWrite()//
|
}//flagWrite()//
|
||||||
protected void flagReadWrite(boolean requiresRead, boolean requiresWrite) {
|
protected void flagReadWrite(boolean requiresRead, boolean requiresWrite) {
|
||||||
synchronized(key) {
|
synchronized(key) {
|
||||||
|
if(key.isValid()) {
|
||||||
int ops = key.interestOps();
|
int ops = key.interestOps();
|
||||||
boolean hasRead = (ops & SelectionKey.OP_READ) != 0;
|
boolean hasRead = (ops & SelectionKey.OP_READ) != 0;
|
||||||
boolean hasWrite = (ops & SelectionKey.OP_WRITE) != 0;
|
boolean hasWrite = (ops & SelectionKey.OP_WRITE) != 0;
|
||||||
@@ -390,7 +395,8 @@ public class WebServer {
|
|||||||
}//if//
|
}//if//
|
||||||
}//else//
|
}//else//
|
||||||
|
|
||||||
if(key.isValid()) key.interestOps(ops);
|
key.interestOps(ops);
|
||||||
|
}//if//
|
||||||
}//synchronized//
|
}//synchronized//
|
||||||
}//flagReadWrite()//
|
}//flagReadWrite()//
|
||||||
protected void flagReadWrite() {
|
protected void flagReadWrite() {
|
||||||
@@ -2283,7 +2289,18 @@ public synchronized boolean start() throws IOException {
|
|||||||
}//else//
|
}//else//
|
||||||
|
|
||||||
if(success) {
|
if(success) {
|
||||||
networkListener = new NetworkListener(selector, 10);
|
String threadCount = System.getProperty("webserver.listener.threads");
|
||||||
|
int count = 10;
|
||||||
|
|
||||||
|
if(threadCount != null) {
|
||||||
|
try {count = Integer.parseInt(threadCount);} catch(Throwable e) {Debug.log(e);}
|
||||||
|
|
||||||
|
if(count < 1) {
|
||||||
|
count = 10;
|
||||||
|
}//if//
|
||||||
|
}//if//
|
||||||
|
|
||||||
|
networkListener = new NetworkListener(selector, count);
|
||||||
networkListener.start();
|
networkListener.start();
|
||||||
}//if//
|
}//if//
|
||||||
else {
|
else {
|
||||||
|
|||||||
Reference in New Issue
Block a user