@Override
public EventDriver create(Object websocket, WebSocketPolicy policy) throws Throwable {
if (!(websocket instanceof EndpointInstance)) {
throw new IllegalStateException(String.format("Websocket %s must be an %s", websocket.getClass().getName(), EndpointInstance.class.getName()));
}
EndpointInstance ei = (EndpointInstance) websocket;
AnnotatedServerEndpointMetadata metadata = (AnnotatedServerEndpointMetadata) ei.getMetadata();
JsrEvents<ServerEndpoint, ServerEndpointConfig> events = new JsrEvents<>(metadata);
// Handle @OnMessage maxMessageSizes
int maxBinaryMessage = getMaxMessageSize(policy.getMaxBinaryMessageSize(), metadata.onBinary, metadata.onBinaryStream);
int maxTextMessage = getMaxMessageSize(policy.getMaxTextMessageSize(), metadata.onText, metadata.onTextStream);
policy.setMaxBinaryMessageSize(maxBinaryMessage);
policy.setMaxTextMessageSize(maxTextMessage);
//////// instrumentation is here
JsrAnnotatedEventDriver driver = new InstJsrAnnotatedEventDriver(policy, ei, events, metrics);
////////
// Handle @PathParam values
ServerEndpointConfig config = (ServerEndpointConfig) ei.getConfig();
if (config instanceof PathParamServerEndpointConfig) {
PathParamServerEndpointConfig ppconfig = (PathParamServerEndpointConfig) config;
driver.setPathParameters(ppconfig.getPathParamMap());
}
return driver;
}
InstJsrServerEndpointImpl.java 文件源码
java
阅读 28
收藏 0
点赞 0
评论 0
项目:dropwizard-websockets
作者:
评论列表
文章目录