示例#1
0
        int SpeedTestComparer(
            VgcApis.Models.Interfaces.ICoreServCtrl a,
            VgcApis.Models.Interfaces.ICoreServCtrl b)
        {
            var spa = a.GetCoreStates().GetSpeedTestResult();
            var spb = b.GetCoreStates().GetSpeedTestResult();

            return(spa.CompareTo(spb));
        }
示例#2
0
        int UtcTicksDecComparer(
            VgcApis.Models.Interfaces.ICoreServCtrl a,
            VgcApis.Models.Interfaces.ICoreServCtrl b)
        {
            var ticksA = a.GetCoreStates().GetLastModifiedUtcTicks();
            var ticksB = b.GetCoreStates().GetLastModifiedUtcTicks();

            return(ticksB.CompareTo(ticksA));
        }
        int SummaryComparer(
            VgcApis.Models.Interfaces.ICoreServCtrl a,
            VgcApis.Models.Interfaces.ICoreServCtrl b)
        {
            var spa = a.GetCoreStates().GetSummary();
            var spb = b.GetCoreStates().GetSummary();

            return(spa.CompareTo(spb));
        }
示例#4
0
        int SummaryComparer(
            VgcApis.Models.Interfaces.ICoreServCtrl a,
            VgcApis.Models.Interfaces.ICoreServCtrl b)
        {
            var sma = a.GetCoreStates().GetSummary();
            var smb = b.GetCoreStates().GetSummary();

            var rsma = VgcApis.Libs.Utils.ReverseSummary(sma);
            var rsmb = VgcApis.Libs.Utils.ReverseSummary(smb);

            return(rsma.CompareTo(rsmb));
        }
示例#5
0
        Models.StatsResult GetterCoreInfo(VgcApis.Models.Interfaces.ICoreServCtrl coreCtrl)
        {
            var result = new Models.StatsResult();

            result.title = coreCtrl.GetCoreStates().GetTitle();
            result.uid   = coreCtrl.GetCoreStates().GetUid();

            var curData = coreCtrl.GetCoreCtrl().TakeStatisticsSample();

            if (curData != null)
            {
                result.stamp     = curData.stamp;
                result.totalUp   = curData.statsUplink;
                result.totalDown = curData.statsDownlink;
            }
            return(result);
        }
示例#6
0
        public ServerUI(VgcApis.Models.Interfaces.ICoreServCtrl serverItem)
        {
            setting = Service.Setting.Instance;
            servers = Service.Servers.Instance;

            this.coreServCtrl = serverItem;
            InitializeComponent();

            this.foldingButtonIcons = new Bitmap[] {
                Properties.Resources.StepBackArrow_16x,
                Properties.Resources.StepOverArrow_16x,
            };

            this.formHeight = new int[] {
                this.Height,  // collapseLevel= 0
                this.cboxInbound.Top,
            };
        }
示例#7
0
        private ToolStripMenuItem CoreServ2MenuItem(VgcApis.Models.Interfaces.ICoreServCtrl coreServ)
        {
            var coreState = coreServ.GetCoreStates();

            var dely  = coreState.GetSpeedTestResult();
            var title = coreState.GetTitle();

            if (dely > 0 && dely < long.MaxValue)
            {
                title += $" - {dely}ms";
            }

            Action done    = () => coreServ.GetCoreCtrl().RestartCoreThen();
            Action onClick = () => servers.StopAllServersThen(done);
            var    item    = new ToolStripMenuItem(title, null, (s, a) => onClick());

            item.Checked = coreServ.GetCoreCtrl().IsCoreRunning();
            return(item);
        }
        void ModifyServerSetting(
            ref VgcApis.Models.Interfaces.ICoreServCtrl serverCtrl,
            int newMode, string newIP, int newPort,
            string newMark, int newAutorun, int newImport, int newSkipCN)
        {
            var server = serverCtrl.GetCoreStates().GetAllRawCoreInfo();

            if (newSkipCN >= 0)
            {
                server.isInjectSkipCNSite = newSkipCN == 0;
            }

            if (newAutorun >= 0)
            {
                server.isAutoRun = newAutorun == 0;
            }

            if (newImport >= 0)
            {
                server.isInjectImport = newImport == 0;
            }

            if (newMode >= 0)
            {
                server.customInbType = newMode;
            }

            if (newIP != null)
            {
                server.inbIp = newIP;
            }
            if (newPort >= 0)
            {
                server.inbPort = newPort;
            }

            if (newMark != null)
            {
                server.customMark = newMark;
            }
        }