protected IoSessionInitializer<?> getInitializer(ResourceAddress address) { Binding binding = bindings.getBinding(address); if (binding != null) { return binding.initializer(); } return null; }
@Override public IoHandler getHandler(ResourceAddress address) { Binding binding = bindings.getBinding(address); if (binding != null) { return binding.handler(); } System.out.println(String.format("ERROR in getHandler: bindings: %s\naddress: %s", bindings, address)); return null; }
private void removeWsrRtmpBinding(ResourceAddress wsrRtmpAddress) { Bindings.Binding binding = bindings.getBinding(wsrRtmpAddress); bindings.removeBinding(wsrRtmpAddress, binding); }
URIUtils.uriToString(wseLocalAddressLocation), options); Binding binding = bindings.getBinding(candidate);
wsLocalAddressLocation, options); Bindings.Binding binding = bindings.getBinding(candidate);
wsLocalAddressLocation, options); Binding binding = bindings.getBinding(candidate);
private ResourceAddress getSslSessionLocalAddress(IoSession session) { // note: bound address is unified in SSL options during bind to avoid conflicts like different cipher suites ResourceAddress boundAddress = SslAcceptor.SSL_RESOURCE_ADDRESS.remove(session); assert (boundAddress != null); // construct the candidate address with observed transport and next protocol String candidateURI = boundAddress.getExternalURI(); ResourceOptions candidateOptions = ResourceOptions.FACTORY.newResourceOptions(boundAddress); candidateOptions.setOption(NEXT_PROTOCOL, NEXT_PROTOCOL_KEY.get(session)); candidateOptions.setOption(TRANSPORT, LOCAL_ADDRESS.get(session)); ResourceAddress candidateAddress = resourceAddressFactory.newResourceAddress(candidateURI, candidateOptions); // lookup the binding for this candidate address Binding binding = bindings.getBinding(candidateAddress); return (binding != null) ? binding.bindAddress() : 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; }
ResourceAddress candidateAddress = createCandidateAddress(session, httpRequest, nextProtocol); ResourceAddress nextProtocolCandidateAddress = candidateAddress; Binding binding = bindings.getBinding(candidateAddress); if (binding == null) { binding = bindings.getBinding(candidateAddress);
final Binding binding = bindings.getBinding(candidateAddress); if (binding == null) { httpSession.setStatus(HttpStatus.CLIENT_NOT_FOUND);