public List <Connector> resolve(string host, int port, Ice.EndpointSelectionType selType, EndpointI endpoint) { // // Try to get the addresses without DNS lookup. If this doesn't // work, we retry with DNS lookup (and observer). // NetworkProxy networkProxy = _instance.networkProxy(); if (networkProxy == null) { List <EndPoint> addrs = Network.getAddresses(host, port, _protocol, selType, _preferIPv6, false); if (addrs.Count > 0) { return(endpoint.connectors(addrs, null)); } } Ice.Instrumentation.CommunicatorObserver obsv = _instance.getObserver(); Ice.Instrumentation.Observer observer = null; if (obsv != null) { observer = obsv.getEndpointLookupObserver(endpoint); if (observer != null) { observer.attach(); } } List <Connector> connectors = null; try { if (networkProxy != null) { networkProxy = networkProxy.resolveHost(); } connectors = endpoint.connectors(Network.getAddresses(host, port, _protocol, selType, _preferIPv6, true), networkProxy); } catch (Ice.LocalException ex) { if (observer != null) { observer.failed(ex.ice_name()); } throw ex; } finally { if (observer != null) { observer.detach(); } } return(connectors); }
add(Ice.ConnectionI connection, Ice.Instrumentation.Observer observer) { lock (this) { _connections.Add(connection); if (observer != null) { observer.detach(); } } }
public Ice.Instrumentation.Observer getConnectionEstablishmentObserver(Ice.Endpoint endpt, string connector) { if (_connects.isEnabled()) { try { Ice.Instrumentation.Observer del = null; if (_delegate != null) { del = _delegate.getConnectionEstablishmentObserver(endpt, connector); } return(_connects.getObserver(new EndpointHelper(endpt, connector), del)); } catch (Exception ex) { _metrics.getLogger().error("unexpected exception trying to obtain observer:\n" + ex); } } return(null); }
public Ice.Instrumentation.Observer getEndpointLookupObserver(Ice.Endpoint endpt) { if (_endpointLookups.isEnabled()) { try { Ice.Instrumentation.Observer del = null; if (_delegate != null) { del = _delegate.getEndpointLookupObserver(endpt); } return(_endpointLookups.getObserver(new EndpointHelper(endpt), del)); } catch (System.Exception ex) { _metrics.getLogger().error("unexpected exception trying to obtain observer:\n" + ex); } } return(null); }