internal AssetPairDiscoveries Discover(AssetPairDiscoveryRequestMessage request) { var i = GetOrCreateInstance(request); i.Wait(TimeSpan.FromSeconds(120)); return(!i.IsFinished() ? null : i); }
public AssetPairDiscoveryResultMessage(AssetPairDiscoveryRequestMessage requestRequest, AssetPairNetworks discoverFirst, IEnumerable <AssetPairNetworks> discovered) { Discovered = discovered.ToList(); RequestRequestMessage = requestRequest; DiscoverFirst = discoverFirst; IsFailed = DiscoverFirst == null || DiscoverFirst.Providers.Count == 0; }
private void AssetPairProviderDiscoveryMessage(AssetPairDiscoveryRequestMessage m) { var networks = AssetPairDiscovery.I.Discover(m); M.SendAsync(new AssetPairDiscoveryResultMessage(m, networks.DiscoverFirst, networks.Discovered)); }
private AssetPairDiscoveries GetOrCreateInstance(AssetPairDiscoveryRequestMessage request) { lock (_lock) return(_cache.GetOrAdd(request, k => new AssetPairDiscoveries(k))); }
public AssetPairDiscoveryResultMessage(AssetPairDiscoveryRequestMessage requestRequest) { RequestRequestMessage = requestRequest; IsFailed = true; }
internal AssetPairDiscoveries(AssetPairDiscoveryRequestMessage requestMessage) { Context = requestMessage; ProcessState = ProcessState.None; Task.Run(() => Discover()); }