示例#1
0
        // Provide a configuration object to this method
        public void RefreshConfiguration()
        {
            this.WebServer = configuration["WebServer"];

            this.serverPort = Convert.ToInt32(configuration["EJUPort"]);
            this.EJUServer  = configuration["EJUServer"];

            this.httpClient          = new HttpClient();
            this.numberOfContests    = Convert.ToInt32(configuration["NumberOfContests"]);
            this.numberOfTatami      = Convert.ToInt32(configuration["NumberOfTatami"]);
            this.BufferSizePerTatami = Convert.ToInt32(configuration["BufferSizePerTatami"]);

            var showfightsConfig = new ShowFightsConfiguration
            {
                EjuServer           = EJUServer,
                EjuServerPort       = serverPort,
                NumberOfTatami      = numberOfTatami,
                NumberOfFights      = numberOfContests,
                BufferSizePerTatami = BufferSizePerTatami
            };

            this.showFights?.UpdateConfiguration(showfightsConfig);
        }
示例#2
0
        public void Start()
        {
            var showfightsConfig = new ShowFightsConfiguration
            {
                EjuServer           = EJUServer,
                EjuServerPort       = serverPort,
                NumberOfTatami      = numberOfTatami,
                NumberOfFights      = numberOfContests,
                BufferSizePerTatami = BufferSizePerTatami
            };

            this.showFights = new ShowFightsClient(Logger, showfightsConfig);

            this.showFights.ContestsUpdated += PublishContests;

            if (cancellationToken.IsCancellationRequested)
            {
                cancellationToken = new CancellationTokenSource();
            }

            this.showFights.StartListener(cancellationToken.Token);

            DataReceivedLogEvent?.Invoke(this, $"{DateTime.Now.ToLongTimeString()} Started ShowFights Listener for {this.EJUServer}:{this.serverPort}");
        }