本文整理汇总了Java中org.apache.tomcat.util.net.NioEndpoint.KeyAttachment.getWriteTimeout方法的典型用法代码示例。如果您正苦于以下问题:Java KeyAttachment.getWriteTimeout方法的具体用法?Java KeyAttachment.getWriteTimeout怎么用?Java KeyAttachment.getWriteTimeout使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.tomcat.util.net.NioEndpoint.KeyAttachment
的用法示例。
在下文中一共展示了KeyAttachment.getWriteTimeout方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: output
import org.apache.tomcat.util.net.NioEndpoint.KeyAttachment; //导入方法依赖的package包/类
@Override
protected void output(byte[] src, int offset, int length)
throws IOException {
KeyAttachment att =
(KeyAttachment) socketWrapper.getSocket().getAttachment();
if ( att == null ) throw new IOException("Key must be cancelled");
ByteBuffer writeBuffer =
socketWrapper.getSocket().getBufHandler().getWriteBuffer();
int thisTime = 0;
int written = 0;
while (written < length) {
int toWrite = Math.min(length - written, writeBuffer.remaining());
writeBuffer.put(src, offset + written, toWrite);
writeBuffer.flip();
long writeTimeout = att.getWriteTimeout();
Selector selector = null;
try {
selector = pool.get();
} catch ( IOException x ) {
//ignore
}
try {
thisTime = pool.write(writeBuffer, socketWrapper.getSocket(),
selector, writeTimeout, true);
} finally {
writeBuffer.clear();
if ( selector != null ) pool.put(selector);
}
written += thisTime;
}
}
示例2: output
import org.apache.tomcat.util.net.NioEndpoint.KeyAttachment; //导入方法依赖的package包/类
@Override
protected void output(byte[] src, int offset, int length) throws IOException {
KeyAttachment att = (KeyAttachment) socketWrapper.getSocket().getAttachment();
if (att == null)
throw new IOException("Key must be cancelled");
ByteBuffer writeBuffer = socketWrapper.getSocket().getBufHandler().getWriteBuffer();
int thisTime = 0;
int written = 0;
while (written < length) {
int toWrite = Math.min(length - written, writeBuffer.remaining());
writeBuffer.put(src, offset + written, toWrite);
writeBuffer.flip();
long writeTimeout = att.getWriteTimeout();
Selector selector = null;
try {
selector = pool.get();
} catch (IOException x) {
// ignore
}
try {
thisTime = pool.write(writeBuffer, socketWrapper.getSocket(), selector, writeTimeout, true);
} finally {
writeBuffer.clear();
if (selector != null)
pool.put(selector);
}
written += thisTime;
}
}
示例3: output
import org.apache.tomcat.util.net.NioEndpoint.KeyAttachment; //导入方法依赖的package包/类
@Override
protected void output(byte[] src, int offset, int length)
throws IOException {
KeyAttachment att =
(KeyAttachment) socketWrapper.getSocket().getAttachment(false);
if ( att == null ) throw new IOException("Key must be cancelled");
ByteBuffer writeBuffer =
socketWrapper.getSocket().getBufHandler().getWriteBuffer();
writeBuffer.put(src, offset, length);
writeBuffer.flip();
long writeTimeout = att.getWriteTimeout();
Selector selector = null;
try {
selector = pool.get();
} catch ( IOException x ) {
//ignore
}
try {
pool.write(writeBuffer, socketWrapper.getSocket(), selector,
writeTimeout, true);
}finally {
writeBuffer.clear();
if ( selector != null ) pool.put(selector);
}
}