FromWrap() public static method

public static FromWrap ( int serverIndex, GameServerItemWrap serverData ) : ArmaServerInfo
serverIndex int
serverData GameServerItemWrap
return ArmaServerInfo
コード例 #1
0
        public async Task <ArmaServerInfo> GetServerInfoInclDetails1(ServerFilterWrap filter, CancellationToken ct)
        {
            var obs = ServerResponses
                      .Take(1)
                      .TakeUntil(RefreshComplete.Void()
                                 .Merge(ServerFailedToRespond.Void())
                                 .Merge(Observable.Timer(TimeSpan.FromSeconds(5))
                                        .Void())).FirstAsync().ToTask(ct);

            await GetServerInfoInclDetails(filter).ConfigureAwait(false);

            var r = await obs;

            return(ArmaServerInfo.FromWrap(r.ServerIndex, r.ServerInfo));
        }
コード例 #2
0
        public async Task <IObservable <ArmaServerInfo> > GetServers(CancellationToken ct, ServerFilterWrap filter)
        {
            var dsp = new CompositeDisposable();
            // Apparently we get null ServerInfo (not even endpoints :S)
            var obs = ServerResponses
                      .TakeUntil(RefreshComplete)
                      .Select(x => x.ServerInfo == null ? null : ArmaServerInfo.FromWrap(x.ServerIndex, x.ServerInfo))
                      .Where(x => x != null)
                      .Replay();

            dsp.Add(obs.Connect());
            obs.Subscribe(_ => { }, x => dsp.Dispose(), dsp.Dispose, ct);
            ct.Register(dsp.Dispose);
            await GetServerInfo(filter).ConfigureAwait(false);

            return(obs);
        }
コード例 #3
0
        private async Task <ArmaServer> ToServerInfo(ServerRespondedEventArgs x)
        {
            var info = ArmaServerInfo.FromWrap(x.ServerIndex, x.ServerInfo);

            return(new ArmaServer(info, await _fetcherFact(info.QueryEndPoint).ConfigureAwait(false)));
        }