Ejemplo n.º 1
0
 public EndpointI_connectorsI(ProtocolInstance instance, string host, string res, EndpointI_connectors cb)
 {
     _instance = instance;
     _host     = host;
     _resource = res;
     _callback = cb;
 }
Ejemplo n.º 2
0
        public override void connectors_async(Ice.EndpointSelectionType selType, EndpointI_connectors callback)
        {
#if SILVERLIGHT
            callback.connectors(connectors(selType));
#else
            _instance.endpointHostResolver().resolve(_host, _port, selType, this, callback);
#endif
        }
Ejemplo n.º 3
0
        public override void connectors_async(Ice.EndpointSelectionType selType, EndpointI_connectors callback)
        {
#if SILVERLIGHT
            callback.connectors(connectors(selType));
#else
            instance_.resolve(host_, port_, selType, this, callback);
#endif
        }
Ejemplo n.º 4
0
        public override void connectors_async(Ice.EndpointSelectionType selType,
                                              EndpointI_connectors callback)
        {
            EndpointI_connectorsI cb =
                new EndpointI_connectorsI(_instance, _delegate.host(), _delegate.port(), _resource, callback);

            _delegate.connectors_async(selType, cb);
        }
Ejemplo n.º 5
0
        public void resolve(string host, int port, Ice.EndpointSelectionType selType, EndpointI endpoint,
                            EndpointI_connectors callback)
        {
            //
            // Try to get the addresses without DNS lookup. If this doesn't work, we queue a resolve
            // entry and the thread will take care of getting the endpoint addresses.
            //
            NetworkProxy networkProxy = _instance.networkProxy();

            if (networkProxy == null)
            {
                try
                {
                    List <EndPoint> addrs = Network.getAddresses(host, port, _protocol, selType, _preferIPv6, false);
                    if (addrs.Count > 0)
                    {
                        callback.connectors(endpoint.connectors(addrs, null));
                        return;
                    }
                }
                catch (Ice.LocalException ex)
                {
                    callback.exception(ex);
                    return;
                }
            }

            _m.Lock();
            try
            {
                Debug.Assert(!_destroyed);

                ResolveEntry entry = new ResolveEntry();
                entry.host     = host;
                entry.port     = port;
                entry.selType  = selType;
                entry.endpoint = endpoint;
                entry.callback = callback;

                Ice.Instrumentation.CommunicatorObserver obsv = _instance.getObserver();
                if (obsv != null)
                {
                    entry.observer = obsv.getEndpointLookupObserver(endpoint);
                    if (entry.observer != null)
                    {
                        entry.observer.attach();
                    }
                }

                _queue.AddLast(entry);
                _m.Notify();
            }
            finally
            {
                _m.Unlock();
            }
        }
Ejemplo n.º 6
0
        public void resolve(string host, int port, Ice.EndpointSelectionType selType, IPEndpointI endpoint,
            EndpointI_connectors callback)
        {
            //
            // Try to get the addresses without DNS lookup. If this doesn't work, we queue a resolve
            // entry and the thread will take care of getting the endpoint addresses.
            //
            NetworkProxy networkProxy = _instance.networkProxy();
            if(networkProxy == null)
            {
                try
                {
                    List<EndPoint> addrs = Network.getAddresses(host, port, _protocol, selType, _preferIPv6, false);
                    if(addrs.Count > 0)
                    {
                        callback.connectors(endpoint.connectors(addrs, null));
                        return;
                    }
                }
                catch(Ice.LocalException ex)
                {
                    callback.exception(ex);
                    return;
                }
            }

            lock(this)
            {
                Debug.Assert(!_destroyed);

                ResolveEntry entry = new ResolveEntry();
                entry.host = host;
                entry.port = port;
                entry.selType = selType;
                entry.endpoint = endpoint;
                entry.callback = callback;

                Ice.Instrumentation.CommunicatorObserver obsv = _instance.initializationData().observer;
                if(obsv != null)
                {
                    entry.observer = obsv.getEndpointLookupObserver(endpoint);
                    if(entry.observer != null)
                    {
                        entry.observer.attach();
                    }
                }

                _queue.AddLast(entry);
                System.Threading.Monitor.Pulse(this);
            }
        }
Ejemplo n.º 7
0
        public override void connectors_async(Ice.EndpointSelectionType selType, EndpointI_connectors callback)
        {
            string host = "";

            for (Ice.EndpointInfo p = _delegate.getInfo(); p != null; p = p.underlying)
            {
                if (p is Ice.IPEndpointInfo)
                {
                    Ice.IPEndpointInfo ipInfo = (Ice.IPEndpointInfo)p;
                    host = ipInfo.host + ":" + ipInfo.port;
                }
            }
            _delegate.connectors_async(selType, new EndpointI_connectorsI(_instance, host, _resource, callback));
        }
Ejemplo n.º 8
0
        public override void connectors_async(Ice.EndpointSelectionType selType, EndpointI_connectors callback)
        {
#if SILVERLIGHT
            callback.connectors(connectors(selType));
#else
            instance_.resolve(host_, port_, selType, this, callback);
#endif
        }
Ejemplo n.º 9
0
 public override void connectors_async(EndpointI_connectors callback)
 {
     callback.connectors(new List<Connector>());
 }
Ejemplo n.º 10
0
 //
 // Return connectors for this endpoint, or empty list if no connector
 // is available.
 //
 public override void connectors_async(Ice.EndpointSelectionType endSel, EndpointI_connectors callback)
 {
     callback.connectors(new List<Connector>());
 }
Ejemplo n.º 11
0
 public void resolve(string host, int port, Ice.EndpointSelectionType type, IPEndpointI endpt,
                     EndpointI_connectors callback)
 {
     instance_.endpointHostResolver().resolve(host, port, type, endpt, callback);
 }
Ejemplo n.º 12
0
        public override void connectors_async(Ice.EndpointSelectionType selType, EndpointI_connectors callback)
        {
#if SILVERLIGHT
            callback.connectors(connectors(selType));
#else
            _instance.endpointHostResolver().resolve(_host, _port, selType, this, callback);
#endif
        }
Ejemplo n.º 13
0
 public override void connectors_async(Ice.EndpointSelectionType selType,
                                       EndpointI_connectors callback)
 {
     EndpointI_connectorsI cb =
         new EndpointI_connectorsI(_instance, _delegate.host(), _delegate.port(), _resource, callback);
     _delegate.connectors_async(selType, cb);
 }
Ejemplo n.º 14
0
 public override void connectors_async(Ice.EndpointSelectionType selType, EndpointI_connectors callback)
 {
     string host = "";
     for(Ice.EndpointInfo p = _delegate.getInfo(); p != null; p = p.underlying)
     {
         if(p is Ice.IPEndpointInfo)
         {
             Ice.IPEndpointInfo ipInfo = (Ice.IPEndpointInfo)p;
             host = ipInfo.host + ":" + ipInfo.port;
         }
     }
     _delegate.connectors_async(selType, new EndpointI_connectorsI(_instance, host, _resource, callback));
 }
Ejemplo n.º 15
0
 public override void connectors_async(Ice.EndpointSelectionType selType, EndpointI_connectors callback)
 {
     instance_.resolve(host_, port_, selType, this, callback);
 }
Ejemplo n.º 16
0
 //
 // Return connectors for this endpoint, or empty list if no connector
 // is available.
 //
 public override void connectors_async(Ice.EndpointSelectionType endSel, EndpointI_connectors callback)
 {
     callback.connectors(new List <Connector>());
 }
Ejemplo n.º 17
0
 public EndpointI_connectorsI(ProtocolInstance instance, string host, int port, string resource,
                              EndpointI_connectors cb)
 {
     _instance = instance;
     _host = host;
     _port = port;
     _resource = resource;
     _callback = cb;
 }
Ejemplo n.º 18
0
 //
 // Return a connector for this endpoint, or empty list if no connector
 // is available.
 //
 public abstract void connectors_async(Ice.EndpointSelectionType selType, EndpointI_connectors callback);
Ejemplo n.º 19
0
 public override void connectors_async(Ice.EndpointSelectionType selType, EndpointI_connectors callback)
 {
     instance_.resolve(host_, port_, selType, this, callback);
 }
Ejemplo n.º 20
0
 public void resolve(string host, int port, Ice.EndpointSelectionType type, IPEndpointI endpt,
                     EndpointI_connectors callback)
 {
     instance_.endpointHostResolver().resolve(host, port, type, endpt, callback);
 }
Ejemplo n.º 21
0
 public override void connectors_async(EndpointI_connectors callback)
 {
     instance_.endpointHostResolver().resolve(_host, _port, this, callback);
 }