@Override public void onError(Throwable cause) { edm.exceptionMetered.ifPresent(Meter::mark); super.onError(cause); }
@Override public void onTextFrame(ByteBuffer buffer, boolean fin) throws IOException { super.onTextFrame(buffer, fin); if (activeMessage==null) // finished message edm.onTextMeter.ifPresent(Meter::mark); }
@Override public EventDriver create(Object websocket, WebSocketPolicy policy) { 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; JsrEndpointEventDriver driver = new JsrEndpointEventDriver(policy, ei); ServerEndpointConfig config = (ServerEndpointConfig)ei.getConfig(); if (config instanceof PathParamServerEndpointConfig) { PathParamServerEndpointConfig ppconfig = (PathParamServerEndpointConfig)config; driver.setPathParameters(ppconfig.getPathParamMap()); } return driver; }
@Override public EventDriver create(Object websocket, WebSocketPolicy policy) { 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; JsrEndpointEventDriver driver = new InstJsrEndpointEventDriver(policy, ei, metrics); ServerEndpointConfig config = (ServerEndpointConfig)ei.getConfig(); if (config instanceof PathParamServerEndpointConfig) { PathParamServerEndpointConfig ppconfig = (PathParamServerEndpointConfig)config; driver.setPathParameters(ppconfig.getPathParamMap()); } return driver; }
@Override protected void onClose(CloseReason closereason) { edm.countOpened.ifPresent(Counter::dec); Timer.Context ctx = (Timer.Context) getJsrSession().getUserProperties().get(this.getClass().getName()); if (ctx != null) ctx.close(); super.onClose(closereason); } }
@Override public void onConnect() { edm.countOpened.ifPresent(Counter::inc); edm.timer.ifPresent(e -> getJsrSession().getUserProperties().put(this.getClass().getName(), e.time())); super.onConnect(); }
@Override public EventDriver create(Object websocket, WebSocketPolicy policy) { 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; JsrEndpointEventDriver driver = new InstJsrEndpointEventDriver(policy, ei, metrics); ServerEndpointConfig config = (ServerEndpointConfig)ei.getConfig(); if (config instanceof PathParamServerEndpointConfig) { PathParamServerEndpointConfig ppconfig = (PathParamServerEndpointConfig)config; driver.setPathParameters(ppconfig.getPathParamMap()); } return driver; }
@Override protected void onClose(CloseReason closereason) { edm.countOpened.ifPresent(Counter::dec); Timer.Context ctx = (Timer.Context) getJsrSession().getUserProperties().get(this.getClass().getName()); if (ctx != null) ctx.close(); super.onClose(closereason); } }
@Override public void onConnect() { edm.countOpened.ifPresent(Counter::inc); edm.timer.ifPresent(e -> getJsrSession().getUserProperties().put(this.getClass().getName(), e.time())); super.onConnect(); }
@Override public void onError(Throwable cause) { edm.exceptionMetered.ifPresent(Meter::mark); super.onError(cause); }
@Override public void onTextFrame(ByteBuffer buffer, boolean fin) throws IOException { super.onTextFrame(buffer, fin); if (activeMessage==null) // finished message edm.onTextMeter.ifPresent(Meter::mark); }