Esempio n. 1
0
        static void Main(string[] args)
        {
            IServerData serverData = null;
            Uri         apiUri     = null;

            Parser.Default.ParseArguments <Options>(args)
            .WithParsed(opts =>
            {
                serverData = new ServerData(opts.ServerHostName, opts.ServerPortNumber, opts.SignerHostName,
                                            opts.SignerPortNumber);
                apiUri = new Uri($"http://{opts.HostName}:{opts.PortNumber}");
            })
            .WithNotParsed(errs =>
            {
                foreach (var err in errs)
                {
                    Console.WriteLine($"OPTIONS PARSE ERROR: {err}");
                }
                Environment.Exit(1);
            });

            using var host = new NancyHost(new Bootstrapper(serverData), apiUri);
            host.Start();
            Console.WriteLine($"Client running on {apiUri}. Press Enter to stop it...");
            Console.ReadLine();
        }
Esempio n. 2
0
        private ArcUploadState taskUploadState;                        // the state of uploading archives according to the task


        /// <summary>
        /// Initializes a new instance of the class.
        /// </summary>
        public Exporter(ExportTargetConfig exporterConfig, EntityMap entityMap,
                        IServerData serverData, AppDirs appDirs, string arcDir)
        {
            this.exporterConfig = exporterConfig ?? throw new ArgumentNullException(nameof(exporterConfig));
            this.entityMap      = entityMap ?? throw new ArgumentNullException(nameof(entityMap));
            this.serverData     = serverData ?? throw new ArgumentNullException(nameof(serverData));
            this.arcDir         = arcDir ?? throw new ArgumentNullException(nameof(arcDir));

            GeneralOptions generalOptions = exporterConfig.GeneralOptions;

            dataLifetime = TimeSpan.FromSeconds(generalOptions.DataLifetime);
            string prefix = FilePrefix + "_" + generalOptions.ID.ToString("D3");

            log = new Log(Log.Formats.Simple)
            {
                FileName = Path.Combine(appDirs.LogDir, prefix + ".log")
            };
            infoFileName  = Path.Combine(appDirs.LogDir, prefix + ".txt");
            stateFileName = Path.Combine(appDirs.StorageDir, prefix + "_State.xml");
            exporterTitle = string.Format("[{0}] {1}", generalOptions.ID, generalOptions.Name);
            dataSource    = DataSourceFactory.GetDataSource(exporterConfig.ConnectionOptions);
            triggers      = new ClassifiedTriggers(exporterConfig.Triggers, dataSource);

            thread     = null;
            terminated = false;
            connStatus = ConnStatus.Undefined;

            CreateQueues();
            InitArcUploading();
        }
Esempio n. 3
0
 public Server(IServerData serverInfo, IEnumerable <IServerTask> tasks, ILogger logger)
 {
     _logger    = logger;
     ServerInfo = serverInfo;
     _server    = new NcsServer(IPAddress.Parse(ServerInfo.IpAddress), ServerInfo.Port, tasks, logger);
     _server.ClientConnected    += ClientConnected;
     _server.ClientDisconnected += ClientDisconnected;
 }
Esempio n. 4
0
    private void InitializeInEditMode()
    {
        persistence = persistenceConcrete;

        staticData = persistence.GetStaticData();
        gameState  = persistence.GetGameState();
        serverData = persistence.GetServerData();

        messageBus = new MessageBus();

        uiSystem = new UISystem();
        uiSystem.InitInEditMode();
    }
Esempio n. 5
0
    public override void LoadDataInternal()
    {
        IServerData server = MainData.CurrentServerData;

        UnitAttributeStats stats      = server.GetAttributeStats(statType);
        IPlayerData        playerData = MainData.CurrentPlayerData;

        statNameText.text = statName;

        float statValue = playerData.GetStat(statType);

        slider.value       = stats.GetSliderValue(playerData.Level, statValue);
        statValueText.text = statValue.ToString();
    }
Esempio n. 6
0
    protected override void LoadDataInternal()
    {
        IServerData server = Main.ServerData;

        UnitAttributeStats stats    = server.GetAttributeStats(statType);
        HeroData           heroData = Main.GameState.CurrentHeroData;

        statNameText.text = statName;

        if (heroData != null && stats != null)
        {
            float statValue = heroData.GetStat(statType);
            slider.value       = stats.GetSliderValue(heroData.Level, statValue);
            statValueText.text = statValue.ToString();
        }
        else
        {
            slider.value       = 0;
            statValueText.text = "?";
        }
    }
 public ConnectedToServerEventArgs(IServerData serverInfo, IEnumerable <IClientData> clientsConnected)
 {
     ServerInfo       = serverInfo;
     ClientsConnected = (ReadOnlyCollection <IClientData>)clientsConnected;
 }
Esempio n. 8
0
 public DisconnectedFromServerEventArgs(DisconnectionReason reason, IServerData serverInfo)
 {
     Reason     = reason;
     ServerInfo = serverInfo;
 }
Esempio n. 9
0
 public void Insert(int index, IServerData item)
 {
     _serverDatas.Insert(index, item);
 }
Esempio n. 10
0
 public int IndexOf(IServerData item)
 {
     return(_serverDatas.IndexOf(item));
 }
Esempio n. 11
0
 public bool Remove(IServerData item)
 {
     return(_serverDatas.Remove(item));
 }
Esempio n. 12
0
 public bool Contains(IServerData item)
 {
     return(_serverDatas.Contains(item));
 }
Esempio n. 13
0
 public void Add(IServerData item)
 {
     _serverDatas.Add(item);
 }
Esempio n. 14
0
 public void AddServerData(IServerData serverData)
 {
     _serverDatas.Add(serverData);
 }
Esempio n. 15
0
 public T CreateClientPeer <T>(IServerData iserverdata) where T : ClientPeerBase
 {
     return(new ClientPeer(iserverdata.Ip, iserverdata.Port) as T);
 }
        protected string GetServerUrl(IServerData serverData)
        {
            var url = $"{(Ssl ? "https" : "http")}://{serverData.Address}:{serverData.Port}{(string.IsNullOrEmpty(serverData.Path) ? "" : serverData.Path)}/";

            return(url);
        }
Esempio n. 17
0
        protected string GetServerUrl(IServerData serverData)
        {
            var url = string.Format("{0}://{1}:{2}{3}/", Ssl ? "https" : "http", serverData.Address, serverData.Port, String.IsNullOrEmpty(serverData.Path) ? "" : serverData.Path);

            return(url);
        }
Esempio n. 18
0
        public WebRequestHandler(IServerData serverData)
        {
            _serverData = serverData;

            Get("/", _ => Response.AsFile("dist/index.html", "text/html"));
            Get("/zmis", async _ =>
            {
                var result = await GetZones(GetInvoker());
                return(Response.AsJson(result));
            });
            Get("/zmi", async parameters =>
            {
                var result = await GetAttributes(GetInvoker(), "/");
                return(Response.AsJson(result));
            });
            Get("/zmi/{path*}", async parameters =>
            {
                string path = parameters.path;
                var result  = await GetAttributes(GetInvoker(), path);
                return(Response.AsJson(result));
            });
            Get("/query", async _ =>
            {
                var result = await GetQueries(GetInvoker());
                return(Response.AsJson(result));
            });
            Post("/query", async parameters =>
            {
                var requestBody = Request.Body.AsString();
                var dict        = JsonConvert.DeserializeObject <Dictionary <int, string> >(requestBody);
                var returnDict  = new Dictionary <int, bool>();
                foreach (var(i, query) in dict)
                {
                    var signResult = await SignQuery(GetSignerInvoker(), query);
                    if (signResult.SignError != SignError.NoError) // TODO: Handle errors
                    {
                        returnDict[i] = false;
                        continue;
                    }
                    var result    = await InstallAsync(GetInvoker(), signResult);
                    returnDict[i] = result;
                }
                var response         = (Response)JsonConvert.SerializeObject(returnDict);
                response.ContentType = "application/json";
                return(response);
            });
            Delete("/query/{name}", async parameters =>
            {
                string name    = parameters.name;
                using var call = GetSignerInvoker()
                                 .AsyncUnaryCall(SignerMethods.UnsignQuery, null,
                                                 new CallOptions(deadline: DateTime.UtcNow.AddSeconds(RPC_TIMEOUT_SECONDS)), name);

                var unsignQuery = await call.ResponseAsync;
                if (!unsignQuery.UnsignSuccessful)
                {
                    return(false);
                }

                var result = await UninstallAsync(GetInvoker(), unsignQuery);
                return(Response.AsJson(result));
            });
            Post("/agent", async parameters =>
            {
                var requestBody = Request.Body.AsString();
                var dict        = JsonConvert.DeserializeObject <Dictionary <string, string> >(requestBody);
                if (!dict.TryGetValue("host", out var host))
                {
                    return(false);
                }
                if (!dict.TryGetInt("port", out var port))
                {
                    return(false);
                }

                _serverData.HostName   = host;
                _serverData.PortNumber = port;

                return(true);
            });
        }
Esempio n. 19
0
 public Bootstrapper(IServerData serverData)
 {
     _serverData = serverData;
 }
Esempio n. 20
0
 public T CreateServerPeer <T>(IServerData iserverdata) where T : ServerPeerBase
 {
     throw new NotImplementedException();
 }