Ejemplo n.º 1
0
        internal AssetPairDiscoveries Discover(AssetPairDiscoveryRequestMessage request)
        {
            var i = GetOrCreateInstance(request);

            i.Wait(TimeSpan.FromSeconds(120));
            return(!i.IsFinished() ? null : i);
        }
Ejemplo n.º 2
0
 public AssetPairDiscoveryResultMessage(AssetPairDiscoveryRequestMessage requestRequest, AssetPairNetworks discoverFirst, IEnumerable <AssetPairNetworks> discovered)
 {
     Discovered            = discovered.ToList();
     RequestRequestMessage = requestRequest;
     DiscoverFirst         = discoverFirst;
     IsFailed = DiscoverFirst == null || DiscoverFirst.Providers.Count == 0;
 }
Ejemplo n.º 3
0
        private void AssetPairProviderDiscoveryMessage(AssetPairDiscoveryRequestMessage m)
        {
            var networks = AssetPairDiscovery.I.Discover(m);

            M.SendAsync(new AssetPairDiscoveryResultMessage(m, networks.DiscoverFirst, networks.Discovered));
        }
Ejemplo n.º 4
0
 private AssetPairDiscoveries GetOrCreateInstance(AssetPairDiscoveryRequestMessage request)
 {
     lock (_lock)
         return(_cache.GetOrAdd(request, k => new AssetPairDiscoveries(k)));
 }
Ejemplo n.º 5
0
 public AssetPairDiscoveryResultMessage(AssetPairDiscoveryRequestMessage requestRequest)
 {
     RequestRequestMessage = requestRequest;
     IsFailed = true;
 }
Ejemplo n.º 6
0
 internal AssetPairDiscoveries(AssetPairDiscoveryRequestMessage requestMessage)
 {
     Context      = requestMessage;
     ProcessState = ProcessState.None;
     Task.Run(() => Discover());
 }