Ejemplo n.º 1
0
        public ActionResult <StratumConnectionInfo> GetActive()
        {
            try
            {
                var curr = ConnectionManager.GetCurrConn();
                if (curr != null)
                {
                    bool isFee = ConnectionManager.IsInFee();
                    var  ci    = new StratumConnectionInfo()
                    {
                        Address  = isFee ? "FEE" : curr.ip,
                        Port     = isFee ? "FEE" : curr.port.ToString(),
                        Login    = isFee ? "FEE" : curr.login,
                        Password = isFee ? "FEE" :
                                   curr.password,
                        Status            = curr.IsConnected == true ? "Connected" : "Disconnectd",
                        LastCommunication = curr.lastComm.ToString("yyyy-MM-ddTHH:mm:ssK"),
                        LastJob           = curr.CurrentJob?.timestamp.ToString("yyyy-MM-ddTHH:mm:ssK"),
                    };

                    return(ci);
                }
                else
                {
                    return(StatusCode(404, $"No active connection."));
                }
            }
            catch (Exception ex)
            {
                return(StatusCode(500, $"ERROR while getting active connection. {ex.Message}"));
            }
        }
Ejemplo n.º 2
0
        public ActionResult <IEnumerable <StratumConnectionInfo> > GetAll()
        {
            var sc1 = ConnectionManager.GetConnectionById(1);
            var c1  = new StratumConnectionInfo()
            {
                Address           = sc1.ip,
                Port              = sc1.port.ToString(),
                Login             = sc1.login,
                Password          = sc1.password,
                Status            = sc1.IsConnected == true ? "Connected" : "Disconnectd",
                LastCommunication = sc1.lastComm.ToString("yyyy-MM-ddTHH:mm:ssK"),
                LastJob           = sc1.CurrentJob?.timestamp.ToString("yyyy-MM-ddTHH:mm:ssK"),
            };

            var sc2 = ConnectionManager.GetConnectionById(2);
            var c2  = new StratumConnectionInfo()
            {
                Address           = sc2.ip,
                Port              = sc2.port.ToString(),
                Login             = sc2.login,
                Password          = sc2.password,
                Status            = sc2.IsConnected == true ? "Connected" : "Disconnectd",
                LastCommunication = sc2.lastComm.ToString("yyyy-MM-ddTHH:mm:ssK"),
                LastJob           = sc2.CurrentJob?.timestamp.ToString("yyyy-MM-ddTHH:mm:ssK"),
            };

            return(new List <StratumConnectionInfo>()
            {
                c1, c2
            });
        }
Ejemplo n.º 3
0
        public ActionResult <Status> GetAll()
        {
            var lastJob = WorkerManager.lastJob.ToString();

            var conn = ConnectionManager.GetCurrConn();

            if (conn == null)
            {
                return(StatusCode(404, "No Straturm Connection active."));
            }


            var lastSHare   = conn.lastShare;
            var totalShares = conn.totalShares;
            var accepted    = conn.sharesAccepted;
            var rejected    = conn.sharesRejected;
            var tooLate     = conn.sharesTooLate;
            ///TODO do WorkerManagera dat SolutionsFound (kolik dohromady ze vsech karet) a
            /// SolutionsSubmitted (to bude az co projde pres diff)

            Status status = new Status();

            status.LastShare = lastSHare.ToString();
            status.LastJob   = lastJob;



            List <WorkerInfo> workers = new List <WorkerInfo>();

            foreach (var worker in WorkerManager.GetWorkersInfo())
            {
                workers.Add(worker);
            }
            status.Workers = workers;

            var  sc1   = conn;
            bool isFee = ConnectionManager.IsInFee();
            var  c1    = new StratumConnectionInfo()
            {
                Address           = isFee ? "FEE" : sc1.ip,
                Port              = isFee ? "FEE" : sc1.port.ToString(),
                Login             = isFee ? "FEE" : sc1.login,
                Password          = isFee ? "FEE" : sc1.password,
                Status            = sc1.IsConnected == true ? "Connected" : "Disconnectd",
                LastCommunication = sc1.lastComm.ToString(),
                LastJob           = sc1.CurrentJob?.timestamp.ToString(),
            };

            status.ActiveConnection = c1;


            ShareStats ss = new ShareStats();

            ss.Accepted         = accepted;
            ss.FailedToValidate = rejected;
            ss.Found            = (uint)workers.Sum(w => w.TotalSols);
            ss.Submitted        = totalShares;
            ss.TooLate          = tooLate;

            status.Shares = ss;

            return(status);
        }