本文整理汇总了Java中io.undertow.websockets.core.CloseMessage类的典型用法代码示例。如果您正苦于以下问题:Java CloseMessage类的具体用法?Java CloseMessage怎么用?Java CloseMessage使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CloseMessage类属于io.undertow.websockets.core包,在下文中一共展示了CloseMessage类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: webSocketStatusUpdateHandler
import io.undertow.websockets.core.CloseMessage; //导入依赖的package包/类
HttpHandler webSocketStatusUpdateHandler() {
WebSocketConnectionCallback webSocketConnectionCallback = (exchange, webSocketChannel) -> {
Consumer<TaskStatusUpdateEvent> statusUpdateListener = event -> {
Map<String, Object> statusUpdate = new HashMap<>();
statusUpdate.put("action", "status-update");
statusUpdate.put("event", event);
ObjectMapper objectMapper = new ObjectMapper();
try {
String message = objectMapper.writeValueAsString(statusUpdate);
WebSockets.sendText(message, webSocketChannel, null);
} catch (JsonProcessingException e) {
log.error("Cannot write object to JSON", e);
String errorMessage = "Cannot write object to JSON: " + e.getMessage();
WebSockets.sendClose(CloseMessage.UNEXPECTED_ERROR, errorMessage, webSocketChannel, null);
}
};
log.debug("Registering new status update listener {}.", statusUpdateListener);
addStatusUpdateListener(statusUpdateListener);
webSocketChannel.addCloseTask((task) -> removeStatusUpdateListener(statusUpdateListener));
};
return new WebSocketProtocolHandshakeHandler(webSocketConnectionCallback);
}
示例2: onCloseMessage
import io.undertow.websockets.core.CloseMessage; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Test
public void onCloseMessage() throws Exception {
new MockUnit(Config.class, WebSocketChannel.class, CloseMessage.class, BiConsumer.class)
.expect(config)
.expect(unit -> {
CountDownLatch ready = unit.mockConstructor(CountDownLatch.class,
new Class[]{int.class }, 1);
ready.await();
})
.expect(unit -> {
CloseMessage msg = unit.get(CloseMessage.class);
expect(msg.getCode()).andReturn(1000);
expect(msg.getReason()).andReturn(null);
BiConsumer<Integer, Optional<String>> callback = unit.get(BiConsumer.class);
callback.accept(1000, Optional.empty());
})
.run(unit -> {
UndertowWebSocket ws = new UndertowWebSocket(unit.get(Config.class));
ws.onCloseMessage(unit.get(BiConsumer.class));
ws.onCloseMessage(unit.get(CloseMessage.class),
unit.get(WebSocketChannel.class));
});
}
示例3: onError
import io.undertow.websockets.core.CloseMessage; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Test
public void onError() throws Exception {
Throwable cause = new IllegalStateException("intentional err");
new MockUnit(Config.class, WebSocketChannel.class, CloseMessage.class, Consumer.class)
.expect(config)
.expect(unit -> {
CountDownLatch ready = unit.mockConstructor(CountDownLatch.class,
new Class[]{int.class }, 1);
ready.await();
})
.expect(unit -> {
Consumer<Throwable> callback = unit.get(Consumer.class);
callback.accept(cause);
})
.run(unit -> {
UndertowWebSocket ws = new UndertowWebSocket(unit.get(Config.class));
ws.onErrorMessage(unit.get(Consumer.class));
ws.onError(unit.get(WebSocketChannel.class), cause);
});
}
示例4: onClose
import io.undertow.websockets.core.CloseMessage; //导入依赖的package包/类
@OnClose
public void onClose(WebSocketSession session, CloseMessage cm ) {
session.broadcast(
createMessage(session).setAction( ChatMessage.Action.LEFT )
.setMessage( "just left the room" )
);
}
示例5: close
import io.undertow.websockets.core.CloseMessage; //导入依赖的package包/类
@Override
public CompletableFuture<Void> close() {
CompletableFuture<Void> future = new CompletableFuture<>();
WebSockets.sendClose(CloseMessage.NORMAL_CLOSURE, null, this.channel,
new WsCb(future));
return future;
}
示例6: sendText
import io.undertow.websockets.core.CloseMessage; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Test
public void sendText() throws Exception {
new MockUnit(Config.class, WebSocketChannel.class, CloseMessage.class, Consumer.class,
Runnable.class, WebSocket.SuccessCallback.class, WebSocket.OnError.class)
.expect(config)
.expect(connect)
.expect(unit -> {
unit.mockStatic(WebSockets.class);
WebSockets.sendText(eq("data"), eq(unit.get(WebSocketChannel.class)),
unit.capture(WebSocketCallback.class));
})
.expect(unit -> {
unit.get(WebSocket.SuccessCallback.class).invoke();
})
.run(unit -> {
UndertowWebSocket ws = new UndertowWebSocket(unit.get(Config.class));
ws.onConnect(unit.get(Runnable.class));
ws.connect(unit.get(WebSocketChannel.class));
ws.sendText("data", unit.get(WebSocket.SuccessCallback.class),
unit.get(WebSocket.OnError.class));
}, unit -> {
WebSocketCallback<Void> callback = unit.captured(WebSocketCallback.class).iterator()
.next();
callback.complete(unit.get(WebSocketChannel.class), null);
});
}
示例7: sendTextCallbackErr
import io.undertow.websockets.core.CloseMessage; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Test
public void sendTextCallbackErr() throws Exception {
new MockUnit(Config.class, WebSocketChannel.class, CloseMessage.class, Consumer.class,
Runnable.class, WebSocket.SuccessCallback.class, WebSocket.OnError.class)
.expect(config)
.expect(connect)
.expect(unit -> {
unit.mockStatic(WebSockets.class);
WebSockets.sendText(eq("data"), eq(unit.get(WebSocketChannel.class)),
unit.capture(WebSocketCallback.class));
})
.expect(unit -> {
unit.get(WebSocket.SuccessCallback.class).invoke();
expectLastCall().andThrow(new IllegalStateException("intentional err"));
})
.run(unit -> {
UndertowWebSocket ws = new UndertowWebSocket(unit.get(Config.class));
ws.onConnect(unit.get(Runnable.class));
ws.connect(unit.get(WebSocketChannel.class));
ws.sendText("data", unit.get(WebSocket.SuccessCallback.class),
unit.get(WebSocket.OnError.class));
}, unit -> {
WebSocketCallback<Void> callback = unit.captured(WebSocketCallback.class).iterator()
.next();
callback.complete(unit.get(WebSocketChannel.class), null);
});
}
示例8: sendBytes
import io.undertow.websockets.core.CloseMessage; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Test
public void sendBytes() throws Exception {
ByteBuffer data = ByteBuffer.wrap(new byte[0]);
new MockUnit(Config.class, WebSocketChannel.class, CloseMessage.class, Consumer.class,
Runnable.class, WebSocket.SuccessCallback.class, WebSocket.OnError.class)
.expect(config)
.expect(connect)
.expect(unit -> {
unit.mockStatic(WebSockets.class);
WebSockets.sendBinary(eq(data), eq(unit.get(WebSocketChannel.class)),
unit.capture(WebSocketCallback.class));
})
.expect(unit -> {
unit.get(WebSocket.SuccessCallback.class).invoke();
})
.run(unit -> {
UndertowWebSocket ws = new UndertowWebSocket(unit.get(Config.class));
ws.onConnect(unit.get(Runnable.class));
ws.connect(unit.get(WebSocketChannel.class));
ws.sendBytes(data, unit.get(WebSocket.SuccessCallback.class),
unit.get(WebSocket.OnError.class));
}, unit -> {
WebSocketCallback<Void> callback = unit.captured(WebSocketCallback.class).iterator()
.next();
callback.complete(unit.get(WebSocketChannel.class), null);
});
}
示例9: sendTextErrCallback
import io.undertow.websockets.core.CloseMessage; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Test
public void sendTextErrCallback() throws Exception {
Throwable cause = new IllegalStateException("intentional err");
new MockUnit(Config.class, WebSocketChannel.class, CloseMessage.class, Consumer.class,
Runnable.class, WebSocket.SuccessCallback.class, WebSocket.OnError.class)
.expect(config)
.expect(connect)
.expect(unit -> {
unit.mockStatic(WebSockets.class);
WebSockets.sendText(eq("data"), eq(unit.get(WebSocketChannel.class)),
unit.capture(WebSocketCallback.class));
})
.expect(unit -> {
unit.get(WebSocket.OnError.class).onError(cause);
})
.run(unit -> {
UndertowWebSocket ws = new UndertowWebSocket(unit.get(Config.class));
ws.onConnect(unit.get(Runnable.class));
ws.connect(unit.get(WebSocketChannel.class));
ws.sendText("data", unit.get(WebSocket.SuccessCallback.class),
unit.get(WebSocket.OnError.class));
}, unit -> {
WebSocketCallback<Void> callback = unit.captured(WebSocketCallback.class).iterator()
.next();
callback.onError(unit.get(WebSocketChannel.class), null, cause);
});
}
示例10: close
import io.undertow.websockets.core.CloseMessage; //导入依赖的package包/类
@Override
public void close() {
if (isOpen()) {
try {
this.underlyingChannel.sendClose();
} catch (IOException _) {}
}
notifyClose(CloseMessage.NORMAL_CLOSURE, "");
}
示例11: onCloseMessage
import io.undertow.websockets.core.CloseMessage; //导入依赖的package包/类
@Override
protected void onCloseMessage(CloseMessage closeMessage, WebSocketChannel channel) {}
示例12: onCloseMessage
import io.undertow.websockets.core.CloseMessage; //导入依赖的package包/类
@Override
protected void onCloseMessage(CloseMessage closeMessage, WebSocketChannel channel) {
LOG.info(closeMessage.toString());
}
示例13: onCloseMessage
import io.undertow.websockets.core.CloseMessage; //导入依赖的package包/类
@Override
protected void onCloseMessage(CloseMessage cm, WebSocketChannel channel) {
handler.onClose(context, cm.getCode(), cm.getReason());
connections.remove(connection);
}
示例14: onCloseMessage
import io.undertow.websockets.core.CloseMessage; //导入依赖的package包/类
@Override
protected void onCloseMessage(final CloseMessage cm, final WebSocketChannel channel) {
ready();
onCloseCallback.accept(cm.getCode(), Optional.ofNullable(cm.getReason()));
}
示例15: onClose
import io.undertow.websockets.core.CloseMessage; //导入依赖的package包/类
@Override
public void onClose(WebSocketChannel channel, CloseMessage message) {
if (endpoint != null) {
endpoint.onClose(channel, message);
}
}