Esempio n. 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));
        }
        public ISteamMatchmakingPingResponse(ServerResponded onServerResponded, ServerFailedToRespond onServerFailedToRespond)
        {
            m_ServerResponded       = onServerResponded;
            m_ServerFailedToRespond = onServerFailedToRespond;

            m_VTable = new VTable()
            {
                m_VTServerResponded       = InternalOnServerResponded,
                m_VTServerFailedToRespond = InternalOnServerFailedToRespond,
            };
            m_pVTable = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(VTable)));
            Marshal.StructureToPtr(m_VTable, m_pVTable, false);

            m_pGCHandle = GCHandle.Alloc(m_pVTable, GCHandleType.Pinned);
        }
 public ISteamMatchmakingPingResponse(ServerResponded onServerResponded, ServerFailedToRespond onServerFailedToRespond)
 {
     if (onServerResponded == null || onServerFailedToRespond == null)
     {
         throw new ArgumentNullException();
     }
     m_ServerResponded       = onServerResponded;
     m_ServerFailedToRespond = onServerFailedToRespond;
     m_VTable = new VTable
     {
         m_VTServerResponded       = InternalOnServerResponded,
         m_VTServerFailedToRespond = InternalOnServerFailedToRespond
     };
     m_pVTable = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(VTable)));
     Marshal.StructureToPtr(m_VTable, m_pVTable, fDeleteOld: false);
     m_pGCHandle = GCHandle.Alloc(m_pVTable, GCHandleType.Pinned);
 }
Esempio n. 4
0
		public ISteamMatchmakingServerListResponse(ServerResponded onServerResponded, ServerFailedToRespond onServerFailedToRespond, RefreshComplete onRefreshComplete) {
			if (onServerResponded == null || onServerFailedToRespond == null || onRefreshComplete == null) {
				throw new ArgumentNullException();
			}
			m_ServerResponded = onServerResponded;
			m_ServerFailedToRespond = onServerFailedToRespond;
			m_RefreshComplete = onRefreshComplete;

			m_VTable = new VTable() {
				m_VTServerResponded = InternalOnServerResponded,
				m_VTServerFailedToRespond = InternalOnServerFailedToRespond,
				m_VTRefreshComplete = InternalOnRefreshComplete
			};
			m_pVTable = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(VTable)));
			Marshal.StructureToPtr(m_VTable, m_pVTable, false);

			m_pGCHandle = GCHandle.Alloc(m_pVTable, GCHandleType.Pinned);
		}
        public ISteamMatchmakingPingResponse(ServerResponded onServerResponded, ServerFailedToRespond onServerFailedToRespond)
        {
            if ((onServerResponded == null) || (onServerFailedToRespond == null))
            {
                throw new ArgumentNullException();
            }
            this.m_ServerResponded       = onServerResponded;
            this.m_ServerFailedToRespond = onServerFailedToRespond;
            VTable table = new VTable {
                m_VTServerResponded       = new InternalServerResponded(this.InternalOnServerResponded),
                m_VTServerFailedToRespond = new InternalServerFailedToRespond(this.InternalOnServerFailedToRespond)
            };

            this.m_VTable  = table;
            this.m_pVTable = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(VTable)));
            Marshal.StructureToPtr(this.m_VTable, this.m_pVTable, false);
            this.m_pGCHandle = GCHandle.Alloc(this.m_pVTable, GCHandleType.Pinned);
        }
 public ISteamMatchmakingServerListResponse(ServerResponded onServerResponded, ServerFailedToRespond onServerFailedToRespond, RefreshComplete onRefreshComplete)
 {
     if (onServerResponded == null || onServerFailedToRespond == null || onRefreshComplete == null)
     {
         throw new ArgumentNullException();
     }
     m_ServerResponded       = onServerResponded;
     m_ServerFailedToRespond = onServerFailedToRespond;
     m_RefreshComplete       = onRefreshComplete;
     m_VTable = new VTable
     {
         m_VTServerResponded       = new InternalServerResponded(InternalOnServerResponded),
         m_VTServerFailedToRespond = new InternalServerFailedToRespond(InternalOnServerFailedToRespond),
         m_VTRefreshComplete       = new InternalRefreshComplete(InternalOnRefreshComplete)
     };
     m_pVTable = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(VTable)));
     Marshal.StructureToPtr(m_VTable, m_pVTable, false);
     m_pGCHandle = GCHandle.Alloc(m_pVTable, GCHandleType.Pinned);
 }
        }                                                 // Dummy constructor

        public ISteamMatchmakingPingResponse(ServerResponded onServerResponded, ServerFailedToRespond onServerFailedToRespond)
        {
        }                                                                                                                                 // 0x00000001807CEC70-0x00000001807CEE80
Esempio n. 8
0
        }                                                       // Dummy constructor

        public ISteamMatchmakingServerListResponse(ServerResponded onServerResponded, ServerFailedToRespond onServerFailedToRespond, RefreshComplete onRefreshComplete)
        {
        }                                                                                                                                                                          // 0x00000001802A75A0-0x00000001802A78A0