if (binding.initializer() != null) { binding.initializer().initializeSession(newTcpBridgeSession, null);
REMOTE_ADDRESS.set(session, remoteAddress); BridgeSessionInitializer<? extends IoFuture> initializer = binding.initializer(); if (initializer != null) { initializer.initializeSession(session, null);
REMOTE_ADDRESS.set(session, remoteAddress); BridgeSessionInitializer<? extends IoFuture> initializer = binding.initializer(); if (initializer != null) { initializer.initializeSession(session, null);
@Override public final UnbindFuture unbind(ResourceAddress address) { UnbindFuture future = null; boolean unbindAlternate; do { //System.out.println(getClass().getSimpleName()+"@"+hashCode()+" unbinding: "+address.getExternalURI()+" -- "+address.getOption(NEXT_PROTOCOL)); unbindAlternate = address.getOption(BIND_ALTERNATE); Binding binding = bindings.getBinding(address); bindings.removeBinding(address, binding); // Using address (instead of binding.bindAddress()) as two different addresses may have the same binding // due to alternates. For example: sse (with http transport) has alternate sse(with httpxe transport) // Say, they are A and its alternate B. A and B share the same binding as alternates comparator consider // A and B are equal. Unbinding A happens fine. While unbinding B, the binding.bindAddress() would be A // with alternate B and this would cause problems(as A is already used for unbinding). UnbindFuture newFuture = unbindInternal(address, binding.handler(), binding.initializer()); if (future != null) { future = DefaultUnbindFuture.combineFutures(future, newFuture); } else { future = newFuture; } address = address.getOption(ALTERNATE); } while (address != null && unbindAlternate); return future; }
@Override public Binding addBinding(Binding newBinding) { ResourceAddress bindAddress = newBinding.bindAddress(); WsnBinding wsnBinding = getBinding0(bindAddress); if (wsnBinding == null) { wsnBinding = new WsnBinding(newBinding.bindAddress(), newBinding.handler(), newBinding.initializer()); } return super.addBinding0(wsnBinding); }
@Override public Binding addBinding(Binding newBinding) { ResourceAddress bindAddress = newBinding.bindAddress(); WsrBinding wsrBinding = getBinding0(bindAddress); if (wsrBinding == null) { wsrBinding = new WsrBinding(newBinding.bindAddress(), newBinding.handler(), newBinding.initializer()); } return super.addBinding0(wsrBinding); }
protected IoSessionInitializer<?> getInitializer(ResourceAddress address) { Binding binding = bindings.getBinding(address); if (binding != null) { return binding.initializer(); } return null; }