Example #1
0
        static void Main(string[] args)
        {
            var config = Stormancer.ClientConfiguration.ForAccount("d81fc876-6094-3d92-a3d0-86d42d866b96", "hello-world-tutorial");
            //config.ServerEndpoint = "http://localhost:8081";

            var client = new Stormancer.Client(config);

            client.GetPublicScene("main", "hello").ContinueWith(
                t =>
            {
                var scene = t.Result;
                scene.AddRoute("msg", p =>
                {
                    Console.WriteLine(p.ReadObject <string>());
                }, null);

                scene.Connect().ContinueWith(t2 =>
                {
                    if (t2.IsCompleted)
                    {
                    }
                    else
                    {
                        Console.WriteLine("Bad stuff happened...");
                    }
                });
            });

            Console.ReadLine();
        }
Example #2
0
        public async Task Run(dynamic configuration, string[] args, Action <string, float> sendMetric, Action <string> error)
        {
            bool online = false;

            try
            {
                string endpoint   = configuration.app.endpoint;
                string appName    = configuration.app.application;
                string appAccount = configuration.app.account;
                //string impersonationKey = configuration.app.impersonationKey;
                //string claimValue = configuration.app.claimValue;
                //string claimPath = configuration.app.claimPath;
                var config = Stormancer.ClientConfiguration.ForAccount(appAccount, appName);
                config.ServerEndpoint = endpoint;
                config.Logger         = new DefaultLogger();
                var client = new Stormancer.Client(config);
                var auth   = new Authentication(client);
                var id     = args.Any() ? args[0] : Guid.NewGuid().ToString();

                await Measure(() =>
                {
                    return(auth.Login(id));
                }, "login", sendMetric);

                //var scene = await Measure(() =>
                //{
                //    return auth.Locate("apoc.character", "");
                //}, "connect.locateService", sendMetric);

                online = true;
                client.Disconnect();
            }
            catch (Exception ex)
            {
                error(ex.Message);
                online = false;
            }
            finally
            {
                sendMetric("online", online ? 1f : 0f);
            }
        }
        public Task Start(Stormancer.Client client)
        {
            if (!IsRunning)
            {
                _client = client;

                return Initialize();


            }
            return Task.FromResult(true);
        }