Esempio n. 1
0
 /// <summary>
 /// Constructor with passed response delegate
 /// </summary>
 /// <param name="_rd">Function name of response delegate</param>
 /// <param name="_dd">Function name of done delegate</param>
 public SRT(ResponseDelegate _rd, DoneDelegate _dd)
 {
     InitializeComponent();
     ResetAll();
     _responseDelegate = _rd;
     _doneDelegate = _dd;
 }
Esempio n. 2
0
 /// <summary>
 /// Constructor with passed delegates
 /// </summary>
 /// <param name="_dd">Name of Done Delegate</param>
 /// <param name="_rd">Name of Response Delegate</param>
 public WI(DoneDelegate _dd, ResponseDelegate _rd)
 {
     InitializeComponent();
     ResetAll();
     _doneDelegate = _dd;
     _responseDelegate = _rd;
 }
Esempio n. 3
0
        private async UniTaskVoid OnRequestSelectCharacter(ResponseHandlerData responseHandler, AckResponseCode responseCode, ResponseSelectCharacterMessage response, string characterId, ResponseDelegate <ResponseSelectCharacterMessage> callback)
        {
            await UniTask.Yield();

            if (callback != null)
            {
                callback.Invoke(responseHandler, responseCode, response);
            }

            GameInstance.SelectedCharacterId = string.Empty;
            if (responseCode == AckResponseCode.Success)
            {
                GameInstance.SelectedCharacterId = characterId;
            }
        }
Esempio n. 4
0
        private async UniTaskVoid OnRequestUserLogout(ResponseHandlerData responseHandler, AckResponseCode responseCode, INetSerializable response, ResponseDelegate <INetSerializable> callback)
        {
            await UniTask.Yield();

            if (callback != null)
            {
                callback.Invoke(responseHandler, responseCode, response);
            }

            GameInstance.UserId              = string.Empty;
            GameInstance.UserToken           = string.Empty;
            GameInstance.SelectedCharacterId = string.Empty;
        }
Esempio n. 5
0
 public void RequestDeleteCharacter(string characterId, ResponseDelegate <ResponseDeleteCharacterMessage> callback)
 {
     CentralNetworkManager.RequestDeleteCharacter(characterId, callback);
 }
Esempio n. 6
0
 public void RequestCharacters(ResponseDelegate <ResponseCharactersMessage> callback)
 {
     CentralNetworkManager.RequestCharacters(callback);
 }
Esempio n. 7
0
 public void RequestUserLogout(ResponseDelegate <INetSerializable> callback)
 {
     CentralNetworkManager.RequestUserLogout((responseHandler, responseCode, response) => OnRequestUserLogout(responseHandler, responseCode, response, callback).Forget());
 }
Esempio n. 8
0
 public void Request(ResponseDelegate aResponseDelegate)
 {
     FXmlResponse = (XmlResponseLogoutUser)aResponseDelegate(FXmlMessage, XmlResponseFactory.LogoutUser);
 }
Esempio n. 9
0
 public void Request(ResponseDelegate aResponseDelegate)
 {
     FXmlResponse = (XmlResponseGetDocPlacement)aResponseDelegate(FXmlMessage, XmlResponseFactory.GetDocPlacement);
 }
Esempio n. 10
0
 static public void Yield(uint msgid, CallAttr attr, ResponseDelegate d)
 {
     dispatchers[msgid] = new YieldContext {
         d = d, timeout_at = Time.time + attr.timeout
     };
 }
Esempio n. 11
0
 void Dispatch(object[] req, CallAttr attr, uint msgid, ResponseDelegate d)
 {
     WriteStream(req);
     TransportManager.Yield(msgid, attr, d);
 }
 public bool RequestUserRegister(string username, string password, string email, ResponseDelegate <ResponseUserRegisterMessage> callback)
 {
     return(ClientSendRequest(MMORequestTypes.RequestUserRegister, new RequestUserRegisterMessage()
     {
         username = username,
         password = password,
         email = email,
     }, responseDelegate: callback));
 }
Esempio n. 13
0
        public async Task UpdateFromClient(SyncConfiguration conf)
        {
            Guid newId = Guid.NewGuid();

            var insertRowScript =
                $@"INSERT INTO [ServiceTickets] ([ServiceTicketID], [Title], [Description], [StatusValue], [EscalationLevel], [Opened], [Closed], [CustomerID]) 
                VALUES ('{newId.ToString()}', 'Insert One Row in SQLite client', 'Description Insert One Row', 1, 0, datetime('now'), NULL, 1)";

            using (var sqlConnection = new SQLiteConnection(fixture.ClientSQLiteConnectionString))
            {
                using (var sqlCmd = new SQLiteCommand(insertRowScript, sqlConnection))
                {
                    sqlConnection.Open();
                    sqlCmd.ExecuteNonQuery();
                    sqlConnection.Close();
                }
            }
            using (var server = new KestrellTestServer())
            {
                var serverHandler = new RequestDelegate(async context =>
                {
                    conf.Tables = fixture.Tables;
                    serverProvider.SetConfiguration(conf);
                    proxyServerProvider.SerializationFormat = conf.SerializationFormat;

                    await proxyServerProvider.HandleRequestAsync(context);
                });
                var clientHandler = new ResponseDelegate(async(serviceUri) =>
                {
                    proxyClientProvider.ServiceUri          = new Uri(serviceUri);
                    proxyClientProvider.SerializationFormat = conf.SerializationFormat;

                    var session = await agent.SynchronizeAsync();

                    Assert.Equal(0, session.TotalChangesDownloaded);
                    Assert.Equal(1, session.TotalChangesUploaded);
                });
                await server.Run(serverHandler, clientHandler);
            }

            var updateRowScript =
                $@" Update [ServiceTickets] Set [Title] = 'Updated from SQLite Client side !' Where ServiceTicketId = '{newId.ToString()}'";

            using (var sqlConnection = new SQLiteConnection(fixture.ClientSQLiteConnectionString))
            {
                using (var sqlCmd = new SQLiteCommand(updateRowScript, sqlConnection))
                {
                    sqlConnection.Open();
                    sqlCmd.ExecuteNonQuery();
                    sqlConnection.Close();
                }
            }
            using (var server = new KestrellTestServer())
            {
                var serverHandler = new RequestDelegate(async context =>
                {
                    conf.Tables = fixture.Tables;
                    serverProvider.SetConfiguration(conf);
                    proxyServerProvider.SerializationFormat = conf.SerializationFormat;

                    await proxyServerProvider.HandleRequestAsync(context);
                });
                var clientHandler = new ResponseDelegate(async(serviceUri) =>
                {
                    proxyClientProvider.ServiceUri          = new Uri(serviceUri);
                    proxyClientProvider.SerializationFormat = conf.SerializationFormat;

                    var session = await agent.SynchronizeAsync();

                    Assert.Equal(0, session.TotalChangesDownloaded);
                    Assert.Equal(1, session.TotalChangesUploaded);
                });
                await server.Run(serverHandler, clientHandler);
            }
        }
 public bool SendRequest <TRequest>(long connectionId, ushort requestType, TRequest request, ResponseDelegate <INetSerializable> responseDelegate = null, int millisecondsTimeout = 30000, SerializerDelegate extraRequestSerializer = null)
     where TRequest : INetSerializable, new()
 {
     if (!CreateAndWriteRequest(Writer, requestType, request, responseDelegate, millisecondsTimeout, extraRequestSerializer))
     {
         return(false);
     }
     SendMessage(connectionId, 0, DeliveryMethod.ReliableUnordered, Writer);
     return(true);
 }
Esempio n. 15
0
 public void DoRequest(string url, RequestDelegate prepareRq, ResponseDelegate handleResp)
 {
     HttpWebRequest wrq = (HttpWebRequest) WebRequest.Create(url);
     prepareRq(wrq);
     HttpWebResponse resp = (HttpWebResponse) wrq.GetResponse();
 }
 public void RequestUserRegister(string username, string password, ResponseDelegate <ResponseUserRegisterMessage> callback)
 {
     centralNetworkManager.RequestUserRegister(username, password, callback);
 }
Esempio n. 17
0
 public void Request(ResponseDelegate aResponseDelegate)
 {
     FXmlResponse = (XmlResponseRegisterPlacement)aResponseDelegate(FXmlMessage, XmlResponseFactory.RegisterPlacement);
 }
Esempio n. 18
0
        public async Task ConflictUpdateUpdateClientWins(SyncConfiguration conf)
        {
            var id = Guid.NewGuid().ToString();

            using (var sqlConnection = new SqlConnection(fixture.Client1ConnectionString))
            {
                var script = $@"INSERT [ServiceTickets] 
                            ([ServiceTicketID], [Title], [Description], [StatusValue], [EscalationLevel], [Opened], [Closed], [CustomerID]) 
                            VALUES 
                            (N'{id}', N'Line for conflict', N'Description client', 1, 0, getdate(), NULL, 1)";

                using (var sqlCmd = new SqlCommand(script, sqlConnection))
                {
                    sqlConnection.Open();
                    sqlCmd.ExecuteNonQuery();
                    sqlConnection.Close();
                }
            }

            using (var server = new KestrellTestServer())
            {
                var serverHandler = new RequestDelegate(async context =>
                {
                    conf.Tables = fixture.Tables;
                    serverProvider.SetConfiguration(conf);
                    proxyServerProvider.SerializationFormat = conf.SerializationFormat;

                    await proxyServerProvider.HandleRequestAsync(context);
                });
                var clientHandler = new ResponseDelegate(async(serviceUri) =>
                {
                    proxyClientProvider.ServiceUri          = new Uri(serviceUri);
                    proxyClientProvider.SerializationFormat = conf.SerializationFormat;

                    var session = await agent.SynchronizeAsync();

                    // check statistics
                    Assert.Equal(0, session.TotalChangesDownloaded);
                    Assert.Equal(1, session.TotalChangesUploaded);
                    Assert.Equal(0, session.TotalSyncConflicts);
                });
                await server.Run(serverHandler, clientHandler);
            }


            using (var sqlConnection = new SqlConnection(fixture.Client1ConnectionString))
            {
                var script = $@"Update [ServiceTickets] 
                                Set Title = 'Updated from Client'
                                Where ServiceTicketId = '{id}'";

                using (var sqlCmd = new SqlCommand(script, sqlConnection))
                {
                    sqlConnection.Open();
                    sqlCmd.ExecuteNonQuery();
                    sqlConnection.Close();
                }
            }

            using (var sqlConnection = new SqlConnection(fixture.ServerConnectionString))
            {
                var script = $@"Update [ServiceTickets] 
                                Set Title = 'Updated from Server'
                                Where ServiceTicketId = '{id}'";

                using (var sqlCmd = new SqlCommand(script, sqlConnection))
                {
                    sqlConnection.Open();
                    sqlCmd.ExecuteNonQuery();
                    sqlConnection.Close();
                }
            }


            using (var server = new KestrellTestServer())
            {
                var serverHandler = new RequestDelegate(async context =>
                {
                    conf.Tables = fixture.Tables;
                    serverProvider.SetConfiguration(conf);
                    proxyServerProvider.SerializationFormat = conf.SerializationFormat;

                    // Since we move to server side, it's server to handle errors
                    serverProvider.ApplyChangedFailed += (s, args) =>
                    {
                        args.Action = ApplyAction.RetryWithForceWrite;
                    };


                    await proxyServerProvider.HandleRequestAsync(context);
                });
                var clientHandler = new ResponseDelegate(async(serviceUri) =>
                {
                    proxyClientProvider.ServiceUri          = new Uri(serviceUri);
                    proxyClientProvider.SerializationFormat = conf.SerializationFormat;

                    SyncContext session = null;
                    await Assert.RaisesAsync <ApplyChangeFailedEventArgs>(
                        h => serverProvider.ApplyChangedFailed += h,
                        h => serverProvider.ApplyChangedFailed -= h, async() =>
                    {
                        session = await agent.SynchronizeAsync();
                    });

                    // check statistics
                    Assert.Equal(0, session.TotalChangesDownloaded);
                    Assert.Equal(1, session.TotalChangesUploaded);
                    Assert.Equal(1, session.TotalSyncConflicts);
                });
                await server.Run(serverHandler, clientHandler);
            }

            string expectedRes = string.Empty;

            using (var sqlConnection = new SqlConnection(fixture.ServerConnectionString))
            {
                var script = $@"Select Title from [ServiceTickets] Where ServiceTicketID='{id}'";

                using (var sqlCmd = new SqlCommand(script, sqlConnection))
                {
                    sqlConnection.Open();
                    expectedRes = sqlCmd.ExecuteScalar() as string;
                    sqlConnection.Close();
                }
            }

            // check good title on client
            Assert.Equal("Updated from Client", expectedRes);
        }
Esempio n. 19
0
        public async Task ConflictInsertInsertConfigurationClientWins(SyncConfiguration conf)
        {
            Guid id = Guid.NewGuid();

            using (var sqlConnection = new SqlConnection(fixture.Client1ConnectionString))
            {
                var script = $@"INSERT [ServiceTickets] 
                            ([ServiceTicketID], [Title], [Description], [StatusValue], [EscalationLevel], [Opened], [Closed], [CustomerID]) 
                            VALUES 
                            (N'{id.ToString()}', N'Conflict Line Client', N'Description client', 1, 0, getdate(), NULL, 1)";

                using (var sqlCmd = new SqlCommand(script, sqlConnection))
                {
                    sqlConnection.Open();
                    sqlCmd.ExecuteNonQuery();
                    sqlConnection.Close();
                }
            }

            using (var sqlConnection = new SqlConnection(fixture.ServerConnectionString))
            {
                var script = $@"INSERT [ServiceTickets] 
                            ([ServiceTicketID], [Title], [Description], [StatusValue], [EscalationLevel], [Opened], [Closed], [CustomerID]) 
                            VALUES 
                            (N'{id.ToString()}', N'Conflict Line Server', N'Description client', 1, 0, getdate(), NULL, 1)";

                using (var sqlCmd = new SqlCommand(script, sqlConnection))
                {
                    sqlConnection.Open();
                    sqlCmd.ExecuteNonQuery();
                    sqlConnection.Close();
                }
            }

            using (var server = new KestrellTestServer())
            {
                var serverHandler = new RequestDelegate(async context =>
                {
                    conf.Tables = fixture.Tables;
                    conf.ConflictResolutionPolicy = ConflictResolutionPolicy.ClientWins;

                    serverProvider.SetConfiguration(conf);
                    proxyServerProvider.SerializationFormat = conf.SerializationFormat;

                    await proxyServerProvider.HandleRequestAsync(context);
                });
                var clientHandler = new ResponseDelegate(async(serviceUri) =>
                {
                    proxyClientProvider.ServiceUri          = new Uri(serviceUri);
                    proxyClientProvider.SerializationFormat = conf.SerializationFormat;

                    var session = await agent.SynchronizeAsync();

                    // check statistics
                    Assert.Equal(0, session.TotalChangesDownloaded);
                    Assert.Equal(1, session.TotalChangesUploaded);
                    Assert.Equal(1, session.TotalSyncConflicts);
                });
                await server.Run(serverHandler, clientHandler);
            }


            string expectedRes = string.Empty;

            using (var sqlConnection = new SqlConnection(fixture.ServerConnectionString))
            {
                var script = $@"Select Title from [ServiceTickets] Where ServiceTicketID='{id.ToString()}'";

                using (var sqlCmd = new SqlCommand(script, sqlConnection))
                {
                    sqlConnection.Open();
                    expectedRes = sqlCmd.ExecuteScalar() as string;
                    sqlConnection.Close();
                }
            }

            // check good title on client
            Assert.Equal("Conflict Line Client", expectedRes);
        }
Esempio n. 20
0
        public Coroutine CreateMatch(string matchName, uint matchSize, bool matchAdvertise, string matchPassword, ResponseDelegate <CreateMatchResponse> callback)
        {
            CreateMatchRequest req = new CreateMatchRequest {
                name      = matchName,
                size      = matchSize,
                advertise = matchAdvertise,
                password  = matchPassword
            };

            return(this.CreateMatch(req, callback));
        }
Esempio n. 21
0
 public bool RequestCharacters(ResponseDelegate <ResponseCharactersMessage> callback)
 {
     return(ClientSendRequest(MMORequestTypes.RequestCharacters, EmptyMessage.Value, responseDelegate: callback));
 }
Esempio n. 22
0
 public void RequestValidateAccessToken(string userId, string accessToken, ResponseDelegate <ResponseValidateAccessTokenMessage> callback)
 {
     CentralNetworkManager.RequestValidateAccessToken(userId, accessToken, (responseHandler, responseCode, response) => OnRequestValidateAccessToken(responseHandler, responseCode, response, callback).Forget());
 }
Esempio n. 23
0
 public void Request(ResponseDelegate aResponseDelegate)
 {
     FXmlResponse = (XmlResponseGetExpiredData)aResponseDelegate(FXmlMessage, XmlResponseFactory.GetExpiredData);
 }
Esempio n. 24
0
 public void RequestCreateCharacter(PlayerCharacterData characterData, ResponseDelegate <ResponseCreateCharacterMessage> callback)
 {
     CentralNetworkManager.RequestCreateCharacter(characterData, callback);
 }
Esempio n. 25
0
 public bool RequestUserLogout(ResponseDelegate <INetSerializable> callback)
 {
     return(ClientSendRequest(MMORequestTypes.RequestUserLogout, EmptyMessage.Value, responseDelegate: callback));
 }
Esempio n. 26
0
 public void RequestSelectCharacter(string characterId, ResponseDelegate <ResponseSelectCharacterMessage> callback)
 {
     CentralNetworkManager.RequestSelectCharacter(characterId, (responseHandler, responseCode, response) => OnRequestSelectCharacter(responseHandler, responseCode, response, characterId, callback).Forget());
 }
Esempio n. 27
0
 public void Request(ResponseDelegate aResponseDelegate)
 {
     FXmlResponse = (XmlResponseLogoutUser)aResponseDelegate(FXmlMessage, XmlResponseFactory.LogoutUser);
 }
Esempio n. 28
0
        private async UniTaskVoid OnRequestValidateAccessToken(ResponseHandlerData responseHandler, AckResponseCode responseCode, ResponseValidateAccessTokenMessage response, ResponseDelegate <ResponseValidateAccessTokenMessage> callback)
        {
            await UniTask.Yield();

            if (callback != null)
            {
                callback.Invoke(responseHandler, responseCode, response);
            }

            GameInstance.UserId    = string.Empty;
            GameInstance.UserToken = string.Empty;
            if (responseCode == AckResponseCode.Success)
            {
                GameInstance.UserId    = response.userId;
                GameInstance.UserToken = response.accessToken;
            }
        }
 public void RequestUserLogout(ResponseDelegate callback)
 {
     centralNetworkManager.RequestUserLogout((responseHandler, responseCode, response) => OnRequestUserLogout(responseHandler, responseCode, response, callback));
 }
Esempio n. 30
0
        public async Task <ProviderRun> RunAsync(CoreProvider serverProvider,
                                                 ProviderFixture <CoreProvider> serverFixture,
                                                 string scopeName       = null, string[] tables = null,
                                                 SyncConfiguration conf = null,
                                                 bool reuseAgent        = true)
        {
            // server proxy
            var proxyServerProvider = new WebProxyServerProvider(serverProvider);
            var proxyClientProvider = new WebProxyClientProvider();

            var syncTables = tables ?? serverFixture.Tables;

            // local test, through tcp
            if (this.NetworkType == NetworkType.Tcp)
            {
                // create agent
                if (this.Agent == null || !reuseAgent)
                {
                    this.Agent = new SyncAgent(this.ClientProvider, serverProvider, syncTables);
                }

                // copy conf settings
                if (conf != null)
                {
                    serverFixture.CopyConfiguration(this.Agent.Configuration, conf);
                }

                // Add Filers
                if (serverFixture.Filters != null && serverFixture.Filters.Count > 0)
                {
                    serverFixture.Filters.ForEach(f =>
                    {
                        if (!this.Agent.Configuration.Filters.Contains(f))
                        {
                            this.Agent.Configuration.Filters.Add(f);
                        }
                    });
                }

                // Add Filers values
                if (serverFixture.FilterParameters != null && serverFixture.FilterParameters.Count > 0)
                {
                    foreach (var syncParam in serverFixture.FilterParameters)
                    {
                        if (!this.Agent.Parameters.Contains(syncParam))
                        {
                            this.Agent.Parameters.Add(syncParam);
                        }
                    }
                }

                // sync
                try
                {
                    this.BeginRun?.Invoke(this.Agent.RemoteProvider);
                    this.Results = await this.Agent.SynchronizeAsync();

                    this.EndRun?.Invoke(this.Agent.RemoteProvider);
                }
                catch (Exception ex)
                {
                    this.Exception = ex;
                    Console.WriteLine(ex);
                }
            }

            // -----------------------------------------------------------------------
            // HTTP
            // -----------------------------------------------------------------------

            // tests through http proxy
            if (this.NetworkType == NetworkType.Http)
            {
                // client handler
                using (var server = new KestrellTestServer())
                {
                    // server handler
                    var serverHandler = new RequestDelegate(async context =>
                    {
                        var syncConfiguration = new SyncConfiguration(syncTables);// set proxy conf
                        // copy conf settings

                        if (conf != null)
                        {
                            serverFixture.CopyConfiguration(syncConfiguration, conf);
                        }


                        // set proxy conf
                        proxyServerProvider.Configuration = syncConfiguration;

                        // test if <> directory name works
                        proxyServerProvider.Options = new SyncOptions();
                        proxyServerProvider.Options.BatchDirectory = Path.Combine(SyncOptions.GetDefaultUserBatchDiretory(), "server");

                        // Add Filers
                        if (serverFixture.Filters != null && serverFixture.Filters.Count > 0)
                        {
                            serverFixture.Filters.ForEach(f =>
                            {
                                if (!proxyServerProvider.Configuration.Filters.Contains(f))
                                {
                                    proxyServerProvider.Configuration.Filters.Add(f);
                                }
                            });
                        }


                        // sync
                        try
                        {
                            this.BeginRun?.Invoke(proxyServerProvider.LocalProvider);
                            await proxyServerProvider.HandleRequestAsync(context);
                            this.EndRun?.Invoke(proxyServerProvider.LocalProvider);
                        }
                        catch (Exception ew)
                        {
                            Console.WriteLine(ew);
                        }
                    });

                    var clientHandler = new ResponseDelegate(async(serviceUri) =>
                    {
                        // create agent
                        if (this.Agent == null || !reuseAgent)
                        {
                            this.Agent = new SyncAgent(this.ClientProvider, proxyClientProvider);
                        }

                        if (serverFixture.FilterParameters != null && serverFixture.FilterParameters.Count > 0)
                        {
                            foreach (var syncParam in serverFixture.FilterParameters)
                            {
                                if (!this.Agent.Parameters.Contains(syncParam))
                                {
                                    this.Agent.Parameters.Add(syncParam);
                                }
                            }
                        }

                        ((WebProxyClientProvider)this.Agent.RemoteProvider).ServiceUri = new Uri(serviceUri);

                        try
                        {
                            this.Results = await this.Agent.SynchronizeAsync();
                        }
                        catch (Exception ew)
                        {
                            this.Exception = ew;
                            Console.WriteLine(ew);
                        }
                    });
                    await server.Run(serverHandler, clientHandler);
                }
            }
            return(this);
        }
 public void RequestCharacters(ResponseDelegate callback)
 {
     centralNetworkManager.RequestCharacters(callback);
 }
 public void RequestUserLogin(string username, string password, ResponseDelegate <ResponseUserLoginMessage> callback)
 {
     centralNetworkManager.RequestUserLogin(username, password, (responseHandler, responseCode, response) => OnRequestUserLogin(responseHandler, responseCode, response, callback));
 }
 public void RequestSelectCharacter(string characterId, ResponseDelegate callback)
 {
     centralNetworkManager.RequestSelectCharacter(characterId, (responseHandler, responseCode, response) => OnRequestSelectCharacter(responseHandler, responseCode, response, characterId, callback));
 }
Esempio n. 34
0
 public void Request(ResponseDelegate aResponseDelegate)
 {
     FXmlResponse = (XmlResponseGetBinContent)aResponseDelegate(FXmlMessage, XmlResponseFactory.GetBinContent);
 }
        private void OnRequestUserLogout(ResponseHandlerData responseHandler, AckResponseCode responseCode, INetSerializable response, ResponseDelegate callback)
        {
            if (callback != null)
            {
                callback.Invoke(responseHandler, responseCode, response);
            }

            UserId            = string.Empty;
            AccessToken       = string.Empty;
            SelectCharacterId = string.Empty;
        }
        public void Request(RequestType type, ResponseDelegate onResponse)
        {
            if (!SteamService.IsInitialized) return;

            if (_responder == null)
            {
                _responder = new ISteamMatchmakingServerListResponse(OnResponded, OnFailedToRespond, OnRefreshComplete);
            }

            CancelRequest();

            _onResponse = onResponse;

            var filters = _filters.ToArray();
            uint filterCount = (uint)_filters.Count;

            var appid = SteamService.SteamAppid;

            switch (type)
            {
                case RequestType.Favourites:
                    _handle = SteamMatchmakingServers.RequestFavoritesServerList(appid, filters, filterCount, _responder);
                    break;
                case RequestType.Friends:
                    _handle = SteamMatchmakingServers.RequestFriendsServerList(appid, filters, filterCount, _responder);
                    break;
                case RequestType.History:
                    _handle = SteamMatchmakingServers.RequestHistoryServerList(appid, filters, filterCount, _responder);
                    break;
                case RequestType.Internet:
                    _handle = SteamMatchmakingServers.RequestInternetServerList(appid, filters, filterCount, _responder);
                    break;
                case RequestType.LAN:
                    _handle = SteamMatchmakingServers.RequestLANServerList(appid, _responder);
                    break;
            }
        }
        private void OnRequestValidateAccessToken(ResponseHandlerData responseHandler, AckResponseCode responseCode, INetSerializable response, ResponseDelegate callback)
        {
            if (callback != null)
            {
                callback.Invoke(responseHandler, responseCode, response);
            }

            UserId      = string.Empty;
            AccessToken = string.Empty;
            if (responseCode == AckResponseCode.Success)
            {
                ResponseValidateAccessTokenMessage castedResponse = response as ResponseValidateAccessTokenMessage;
                UserId      = castedResponse.userId;
                AccessToken = castedResponse.accessToken;
            }
        }
Esempio n. 38
0
 public UserEventArgs(string originIdentifier, ResponseDelegate responseHandler)
 {
     OriginIdentifier = originIdentifier;
     _responseHandler = responseHandler;
 }
        private void OnRequestSelectCharacter(ResponseHandlerData responseHandler, AckResponseCode responseCode, INetSerializable response, string characterId, ResponseDelegate callback)
        {
            if (callback != null)
            {
                callback.Invoke(responseHandler, responseCode, response);
            }

            SelectCharacterId = string.Empty;
            if (responseCode == AckResponseCode.Success)
            {
                SelectCharacterId = characterId;
            }
        }
Esempio n. 40
0
        private static void GetRequest(string url, ResponseDelegate callback)
        {
            var initialRequest = HttpWebRequest.Create(url);
            var initialResult = (IAsyncResult)initialRequest.BeginGetResponse((IAsyncResult result) => {
                var request = (HttpWebRequest)result.AsyncState;
                var response = request.EndGetResponse(result);

                using (var stream = response.GetResponseStream())
                using (var reader = new StreamReader(stream)) {
                    callback(JObject.Parse(reader.ReadToEnd()));
                }
            }, initialRequest);
        }
Esempio n. 41
0
 private IEnumerator ProcessMatchResponse <JSONRESPONSE>(WWW client, ResponseDelegate <JSONRESPONSE> callback) where JSONRESPONSE : Response, new()
 {
     return(new < ProcessMatchResponse > c__Iterator0 <JSONRESPONSE> {
         client = client, callback = callback, <$> client = client, <$> callback = callback
     });