下面列出了javax.websocket.SendResult#isOK ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void onResult(SendResult result) {
LOG.debug(" SendQueue size {} , maxNumberOfMessageInQueue {} result {}",
sendQueue.size(),
maxNumberOfMessageInQueue,
result.isOK());
if (!result.isOK()) {
try {
session.close();
} catch (IOException ignored) {
} finally {
sendQueue.clear();
}
}
synchronized (lock) {
if (sendQueue.isEmpty()) {
sendingInProgress = false;
} else {
MessageWrapper message = sendQueue.remove();
doSend(message);
}
}
}
@Override
public void onResult(SendResult result) {
if (!result.isOK()) {
// Message could not be sent. In this case, we don't
// set isSendingMessage to false because we must assume the connection
// broke (and onClose will be called), so we don't try to send
// other messages.
// As a precaution, we close the session (e.g. if a send timeout occurred).
// TODO: session.close() blocks, while this handler shouldn't block.
// Ideally, there should be some abort() method that cancels the
// connection immediately...
try {
session.close();
} catch (IOException ex) {
// Ignore
}
}
synchronized (messagesToSend) {
if (!messagesToSend.isEmpty()) {
AbstractWebsocketMessage msg = messagesToSend.remove();
messagesToSendLength -= calculateMessageLength(msg);
internalSendMessageAsync(msg);
} else {
isSendingMessage = false;
}
}
}
@Override
public void onResult(SendResult result) {
if (isDone) {
endpoint.stateMachine.complete(isLast);
handler.onResult(result);
} else if(!result.isOK()) {
handler.onResult(result);
} else if (closed){
SendResult sr = new SendResult(new IOException(
sm.getString("wsRemoteEndpoint.closedDuringMessage")));
handler.onResult(sr);
} else {
write();
}
}
@Override
public void onResult(SendResult result) {
if (result.isOK()) {
if (outputBuffer.hasRemaining()) {
endpoint.doWrite(this, blockingWriteTimeoutExpiry, outputBuffer);
} else {
outputBuffer.clear();
write();
}
} else {
handler.onResult(result);
}
}
@Override
public void onResult(SendResult result) {
if (result.isOK()) {
outputBuffer.clear();
}
handler.onResult(result);
}
@Override
public void onResult(SendResult result) {
if (result.isOK()) {
stateMachine.complete(true);
}
handler.onResult(result);
}
@Override
public void onResult(SendResult result) {
if (!result.isOK()) {
// Message could not be sent. In this case, we don't
// set isSendingMessage to false because we must assume the connection
// broke (and onClose will be called), so we don't try to send
// other messages.
// As a precaution, we close the session (e.g. if a send timeout occurred).
// TODO: session.close() blocks, while this handler shouldn't block.
// Ideally, there should be some abort() method that cancels the
// connection immediately...
try {
session.close();
} catch (IOException ex) {
// Ignore
}
}
synchronized (messagesToSend) {
if (!messagesToSend.isEmpty()) {
AbstractWebsocketMessage msg = messagesToSend.remove();
messagesToSendLength -= calculateMessageLength(msg);
internalSendMessageAsync(msg);
} else {
isSendingMessage = false;
}
}
}
@Override
public void onResult(SendResult result) {
if (result.isOK()) {
getSendProcessor().setReadyToSend(true);
getSendProcessor().onWritePossible();
}
else {
getSendProcessor().cancel();
getSendProcessor().onError(result.getException());
}
}
@Override
public void onResult(SendResult result) {
if (done) {
return;
}
done = true;
if (!result.isOK()) {
exception = result.getException();
}
if (waiters > 0) {
notifyAll();
}
}
@Override
public void onResult(SendResult result) {
if (result.isOK()) {
getSendProcessor().setReadyToSend(true);
getSendProcessor().onWritePossible();
}
else {
getSendProcessor().cancel();
getSendProcessor().onError(result.getException());
}
}
@Override
public void onResult(SendResult result) {
if (isDone) {
endpoint.stateMachine.complete(isLast);
handler.onResult(result);
} else if(!result.isOK()) {
handler.onResult(result);
} else if (closed){
SendResult sr = new SendResult(new IOException(
sm.getString("wsRemoteEndpoint.closedDuringMessage")));
handler.onResult(sr);
} else {
write();
}
}
@Override
public void onResult(SendResult result) {
if (result.isOK()) {
if (outputBuffer.hasRemaining()) {
endpoint.doWrite(this, outputBuffer);
} else {
outputBuffer.clear();
write();
}
} else {
handler.onResult(result);
}
}
@Override
public void onResult(SendResult result) {
if (result.isOK()) {
outputBuffer.clear();
}
handler.onResult(result);
}
@Override
public void onResult(SendResult result) {
if (result.isOK()) {
stateMachine.complete(true);
}
handler.onResult(result);
}
@Override
public void onResult(SendResult result) {
if (isDone) {
endpoint.stateMachine.complete(isLast);
handler.onResult(result);
} else if(!result.isOK()) {
handler.onResult(result);
} else if (closed){
SendResult sr = new SendResult(new IOException(
sm.getString("wsRemoteEndpoint.closedDuringMessage")));
handler.onResult(sr);
} else {
write();
}
}
@Override
public void onResult(SendResult result) {
if (result.isOK()) {
if (outputBuffer.hasRemaining()) {
endpoint.doWrite(this, outputBuffer);
} else {
outputBuffer.clear();
write();
}
} else {
handler.onResult(result);
}
}
@Override
public void onResult(SendResult result) {
if (result.isOK()) {
outputBuffer.clear();
}
handler.onResult(result);
}
@Override
public void onResult(SendResult result) {
if (result.isOK()) {
stateMachine.complete(true);
}
handler.onResult(result);
}
@Override
public void onResult(SendResult result) {
if (!result.isOK()) {
// Message could not be sent. In this case, we don't
// set isSendingMessage to false because we must assume the connection
// broke (and onClose will be called), so we don't try to send
// other messages.
// As a precaution, we close the session (e.g. if a send timeout occured).
// TODO: session.close() blocks, while this handler shouldn't block.
// Ideally, there should be some abort() method that cancels the
// connection immediately...
try {
session.close();
} catch (IOException ex) {
// Ignore
}
}
synchronized (messagesToSend) {
if (!messagesToSend.isEmpty()) {
AbstractWebsocketMessage msg = messagesToSend.remove();
messagesToSendLength -= calculateMessageLength(msg);
internalSendMessageAsync(msg);
} else {
isSendingMessage = false;
}
}
}
@Override
public void onResult(final SendResult result) {
if (!result.isOK()) {
AnnotatedEndpoint.this.onError(session, result.getException());
}
}