本文整理汇总了Java中org.apache.tomcat.jni.Poll.pollset方法的典型用法代码示例。如果您正苦于以下问题:Java Poll.pollset方法的具体用法?Java Poll.pollset怎么用?Java Poll.pollset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.tomcat.jni.Poll
的用法示例。
在下文中一共展示了Poll.pollset方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: toString
import org.apache.tomcat.jni.Poll; //导入方法依赖的package包/类
/**
* Displays the list of sockets in the pollers.
*/
@Override
public String toString() {
StringBuffer buf = new StringBuffer();
buf.append("Poller");
long[] res = new long[actualPollerSize * 2];
for (int i = 0; i < pollers.length; i++) {
int count = Poll.pollset(pollers[i], res);
buf.append(" [ ");
for (int j = 0; j < count; j++) {
buf.append(desc[2*j+1]).append(" ");
}
buf.append("]");
}
return buf.toString();
}
示例2: toString
import org.apache.tomcat.jni.Poll; //导入方法依赖的package包/类
/**
* Displays the list of sockets in the pollers.
*/
@Override
public String toString() {
StringBuffer buf = new StringBuffer();
buf.append("Poller");
long[] res = new long[actualPollerSize * 2];
for (int i = 0; i < pollers.length; i++) {
int count = Poll.pollset(pollers[i], res);
buf.append(" [ ");
for (int j = 0; j < count; j++) {
buf.append(desc[2 * j + 1]).append(" ");
}
buf.append("]");
}
return buf.toString();
}
示例3: destroy
import org.apache.tomcat.jni.Poll; //导入方法依赖的package包/类
/**
* Destroy the poller.
*/
protected void destroy() {
sendfileRunning = false;
// Wait for polltime before doing anything, so that the poller threads
// exit, otherwise parallel destruction of sockets which are still
// in the poller can cause problems
try {
synchronized (this) {
this.notify();
this.wait(pollTime / 1000);
}
} catch (InterruptedException e) {
// Ignore
}
// Close any socket remaining in the add queue
for (int i = (addS.size() - 1); i >= 0; i--) {
SendfileData data = addS.get(i);
closeSocket(data.socket);
}
// Close all sockets still in the poller
int rv = Poll.pollset(sendfilePollset, desc);
if (rv > 0) {
for (int n = 0; n < rv; n++) {
closeSocket(desc[n*2+1]);
}
}
Pool.destroy(pool);
sendfileData.clear();
}
示例4: destroy
import org.apache.tomcat.jni.Poll; //导入方法依赖的package包/类
/**
* Destroy the poller.
*/
protected void destroy() {
// Wait for pollerTime before doing anything, so that the poller threads
// exit, otherwise parallel destruction of sockets which are still
// in the poller can cause problems
try {
synchronized (this) {
this.wait(pollTime / 1000);
}
} catch (InterruptedException e) {
// Ignore
}
// Close all sockets in the add queue
SocketInfo info = addList.get();
while (info != null) {
if (!comet || (comet && !processSocket(info.socket, SocketStatus.STOP))) {
Socket.destroy(info.socket);
}
info = addList.get();
}
addList.clear();
// Close all sockets still in the poller
for (int i = 0; i < pollerCount; i++) {
int rv = Poll.pollset(pollers[i], desc);
if (rv > 0) {
for (int n = 0; n < rv; n++) {
if (!comet || (comet && !processSocket(desc[n*2+1], SocketStatus.STOP))) {
Socket.destroy(desc[n*2+1]);
}
}
}
}
Pool.destroy(pool);
connectionCount = 0;
}
示例5: toString
import org.apache.tomcat.jni.Poll; //导入方法依赖的package包/类
/**
* Displays the list of sockets in the pollers.
*/
public String toString() {
StringBuffer buf = new StringBuffer();
buf.append("Poller comet=[").append(comet).append("]");
long[] res = new long[actualPollerSize * 2];
for (int i = 0; i < pollers.length; i++) {
int count = Poll.pollset(pollers[i], res);
buf.append(" [ ");
for (int j = 0; j < count; j++) {
buf.append(desc[2*j+1]).append(" ");
}
buf.append("]");
}
return buf.toString();
}
示例6: destroy
import org.apache.tomcat.jni.Poll; //导入方法依赖的package包/类
/**
* Destroy the poller.
*/
protected void destroy() {
sendfileRunning = false;
// Wait for polltime before doing anything, so that the poller
// threads
// exit, otherwise parallel destruction of sockets which are still
// in the poller can cause problems
try {
synchronized (this) {
this.notify();
this.wait(pollTime / 1000);
}
} catch (InterruptedException e) {
// Ignore
}
// Close any socket remaining in the add queue
for (int i = (addS.size() - 1); i >= 0; i--) {
SendfileData data = addS.get(i);
closeSocket(data.socket);
}
// Close all sockets still in the poller
int rv = Poll.pollset(sendfilePollset, desc);
if (rv > 0) {
for (int n = 0; n < rv; n++) {
closeSocket(desc[n * 2 + 1]);
}
}
Pool.destroy(pool);
sendfileData.clear();
}
示例7: closePollset
import org.apache.tomcat.jni.Poll; //导入方法依赖的package包/类
private void closePollset(long pollset) {
int rv = Poll.pollset(pollset, desc);
if (rv > 0) {
for (int n = 0; n < rv; n++) {
if (comet) {
processSocket(desc[n*2+1], SocketStatus.STOP);
} else {
destroySocket(desc[n*2+1]);
}
}
}
}
示例8: destroy
import org.apache.tomcat.jni.Poll; //导入方法依赖的package包/类
/**
* Destroy the poller.
*/
@Override
public void destroy() {
// Close any socket remaining in the add queue
addCount = 0;
for (int i = (addS.size() - 1); i >= 0; i--) {
SendfileData data = addS.get(i);
destroySocket(data.socket);
}
addS.clear();
// Close all sockets still in the poller
int rv = Poll.pollset(sendfilePollset, desc);
if (rv > 0) {
for (int n = 0; n < rv; n++) {
destroySocket(desc[n*2+1]);
}
}
Pool.destroy(pool);
sendfileData.clear();
try {
while (this.isAlive()) {
this.interrupt();
this.join(1000);
}
} catch (InterruptedException e) {
// Ignore
}
}