示例#1
0
        public static ServerStateResponse FromLine(string line)
        {
            string   jsonFileVersion    = string.Empty;
            string   minerClientVersion = string.Empty;
            long     time                   = Timestamp.GetTimestamp();
            long     messageTimestamp       = 0;
            long     outputKeywordTimestamp = 0;
            WsStatus wsStatus               = WsStatus.Undefined;
            bool     needReClientId         = false;

            if (!string.IsNullOrEmpty(line))
            {
                line = line.Trim();
                string[] parts = line.Split(new char[] { '|' });
                if (parts.Length > 0)
                {
                    jsonFileVersion = parts[0];
                }
                if (parts.Length > 1)
                {
                    minerClientVersion = parts[1];
                }
                if (parts.Length > 2)
                {
                    long.TryParse(parts[2], out time);
                }
                if (parts.Length > 3)
                {
                    long.TryParse(parts[3], out messageTimestamp);
                }
                if (parts.Length > 4)
                {
                    long.TryParse(parts[4], out outputKeywordTimestamp);
                }
                if (parts.Length > 5)
                {
                    Enum.TryParse(parts[5], out wsStatus);
                }
                if (parts.Length > 6)
                {
                    bool.TryParse(parts[6], out needReClientId);
                }
            }
            return(new ServerStateResponse {
                JsonFileVersion = jsonFileVersion,
                MinerClientVersion = minerClientVersion,
                Time = time,
                MessageTimestamp = messageTimestamp,
                OutputKeywordTimestamp = outputKeywordTimestamp,
                WsStatus = wsStatus,
                NeedReClientId = needReClientId
            });
        }
示例#2
0
 public string ToLine()
 {
     return($"{JsonFileVersion}|{MinerClientVersion}|{Time.ToString()}|{MessageTimestamp.ToString()}|{OutputKeywordTimestamp.ToString()}|{WsStatus.ToString()}");
 }