Exemple #1
0
        static int Main(string[] args)
        {
            int         exitCode = 0;
            StartStatus status   = GetStatus(args);

            if (status == StartStatus.Help)
            {
                ShowReference();
            }
            else if (status == StartStatus.Normal || status == StartStatus.DefaultFile)
            {
                string fileName       = status == StartStatus.DefaultFile ? defaultXmlDocFilePath : args[0];
                bool   isFactorExists = CheckOrUpdate(fileName);

                if (!isFactorExists)
                {
                    exitCode = 1;
                    Console.WriteLine($"A factor documentation is updated");
                }
                else
                {
                    Console.WriteLine($"A factor documentation is correct");
                }
            }
            else
            {
                ShowErrorMessage(status);
                exitCode = 2;
            }

            return(exitCode);
        }
 public void OnServerStarted(INetworkServer server, StartStatus status)
 {
     if (status == StartStatus.FAIL_ALREADY_STARTED || status == StartStatus.SUCCESS)
     {
     }
     else
         MessageBox.Show("Unknown Error occurred");
     
 }
 /// <summary>
 /// Server started callback
 /// </summary>
 /// <param name="server">server</param>
 /// <param name="status">start status</param>
 public void OnParallelServerStarted(IParallelServer server, StartStatus status)
 {
     if (status == StartStatus.SUCCESS || status == StartStatus.FAIL_ALREADY_STARTED)
     {
         Debug.Print("Server started");
         ChangeTitle(true);
     }
     
 }
Exemple #4
0
        public void OnServerStarted(INetworkServer server, StartStatus status)
        {
            //TCP服务器启动
            serveStatus_start.Visibility = BarItemVisibility.Always;
            serveStatus_stop.Visibility  = BarItemVisibility.Never;

            ribbonbtn_serveAct_start.Enabled = false;
            ribbonbtn_serveAct_stop.Enabled  = true;
        }
        /// <summary>
        /// Start the server and start accepting the client
        /// </summary>
        protected override void execute()
        {
            StartStatus status = StartStatus.FAIL_SOCKET_ERROR;

            try
            {
                lock (m_generalLock)
                {
                    if (IsServerStarted)
                    {
                        status = StartStatus.FAIL_ALREADY_STARTED;
                        throw new CallbackException();
                    }
                    Acceptor        = m_serverOps.Acceptor;
                    CallBackObj     = m_serverOps.CallBackObj;
                    RoomCallBackObj = m_serverOps.RoomCallBackObj;
                    NoDelay         = m_serverOps.NoDelay;
                    Port            = m_serverOps.Port;
                    MaxSocketCount  = m_serverOps.MaxSocketCount;

                    if (Port == null || Port.Length == 0)
                    {
                        Port = ServerConf.DEFAULT_PORT;
                    }
                    lock (m_listLock)
                    {
                        m_socketList.Clear();
                    }
                    lock (m_roomLock)
                    {
                        m_roomMap.Clear();
                    }

                    m_listener = new TcpListener(IPAddress.Any, Convert.ToInt32(m_port));
                    m_listener.Server.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
                    m_listener.Start();
                    m_listener.BeginAcceptTcpClient(new AsyncCallback(IocpTcpServer.onAccept), this);
                }
            }
            catch (CallbackException)
            {
                OnServerStarted(this, status);
                return;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + " >" + ex.StackTrace);
                if (m_listener != null)
                {
                    m_listener.Stop();
                }
                m_listener = null;
                OnServerStarted(this, StartStatus.FAIL_SOCKET_ERROR);
                return;
            }
            OnServerStarted(this, StartStatus.SUCCESS);
        }
Exemple #6
0
 public void OnServerStarted(INetworkServer server, StartStatus status)
 {
     if (status == StartStatus.FAIL_ALREADY_STARTED || status == StartStatus.SUCCESS)
     {
     }
     else
     {
         MessageBox.Show("Unknown Error occurred");
     }
 }
Exemple #7
0
        private static void ShowErrorMessage(StartStatus status)
        {
            string msg = status switch
            {
                StartStatus.NoArgument => $"No given argument and default file (\"{Path.GetFullPath(defaultXmlDocFilePath)}\") is not found!\n",
                StartStatus.NotExistingFile => "File does not exist!\n",
                _ => "",
            };

            msg += "Give '-h' or '--help' argument to get reference";
            Console.WriteLine(msg);
        }
        protected override void execute()
        {
            StartStatus status = StartStatus.FAIL_SOCKET_ERROR;

            try
            {
                lock (m_generalLock)
                {
                    if (IsServerStarted())
                    {
                        status = StartStatus.FAIL_ALREADY_STARTED;
                        throw new CallbackException();
                    }

                    m_callBackObj = m_serverOfs.callBackObj;
                    m_ip          = m_serverOfs.ip;
                    m_port        = m_serverOfs.port;

                    if (m_port == null || m_port.Length == 0)
                    {
                        m_port = ServerConf.DEFAULT_PORT;
                    }

                    m_listener = new TcpListener(IPAddress.Parse(m_ip), Convert.ToInt32(m_port));
                    m_listener.Start();
                    m_listener.BeginAcceptTcpClient(new AsyncCallback(onAccept), this);
                }
            }
            catch (CallbackException)
            {
                m_callBackObj.OnServerStarted(this, status);
                return;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + " >" + ex.StackTrace);
                if (m_listener != null)
                {
                    m_listener.Stop();
                }
                m_listener = null;
                m_callBackObj.OnServerStarted(this, StartStatus.FAIL_SOCKET_ERROR);
                return;
            }

            m_callBackObj.OnServerStarted(this, StartStatus.SUCCESS);
        }
Exemple #9
0
 public void OnServerStarted(INetworkServer server, StartStatus status)
 {
     if (status == StartStatus.FAIL_ALREADY_STARTED || status == StartStatus.SUCCESS)
     {
         if (status == StartStatus.SUCCESS)
         {
             Program.AddLog("Server Socket Started");
         }
         if (status == StartStatus.FAIL_ALREADY_STARTED)
         {
             Program.AddLog("Server already started");
         }
     }
     else
     {
         Program.AddLog("Unknown Error occurred");
     }
 }
Exemple #10
0
        public void Stop()
        {
            if (_status == StartStatus.Started)
            {
                _status = StartStatus.Stopping;

                _serialEvent.Set();
                _messageLoop = false;
                _messageThread.Join();

                CloseSerialPort();

                _serialEvent.Dispose();

                _status = StartStatus.Stopped;

                Log.Debug("Simulator stopped");
            }
        }
Exemple #11
0
        public void Start()
        {
            _status = StartStatus.Starting;

            _serialEvent = new EventWaitHandle(false, EventResetMode.AutoReset);

            OpenSerialPort();

            _appBinParser.Role = FlParserRole.Host;

            _messageLoop   = true;
            _messageThread = new Thread(new ThreadStart(InternalMessageProc))
            {
                Priority = ThreadPriority.Highest
            };
            _messageThread.Start();

            _status = StartStatus.Started;

            Log.Debug("Simulator started");
        }
Exemple #12
0
        private static void ShowErrorMessage(StartStatus status)
        {
            string msg;

            switch (status)
            {
            case StartStatus.NoArgument:
                msg = $"No given argument and default file (\"{Path.GetFullPath(defaultXmlDocFilePath)}\") is not found!\n";
                break;

            case StartStatus.NotExistingFile:
                msg = "File is not exist!\n";
                break;

            default:
                msg = "";
                break;
            }

            msg += "Give '-h' or '--help' argument to get reference";
            Console.WriteLine(msg);
        }
Exemple #13
0
 public void OnServerStarted(INetworkServer server, StartStatus status)
 {
     SetTipMessage("connect!");
 }
 /// <summary>
 /// Server started callback
 /// </summary>
 /// <param name="server">server</param>
 /// <param name="status">start status</param>
 public void OnServerStarted(INetworkServer server, StartStatus status)
 {
     OnParallelServerStarted(this, status);
 }
Exemple #15
0
        /// <summary>
        /// Output GEDCOM format for this instance.
        /// </summary>
        /// <param name="sw">Where to output the data to.</param>
        public override void Output(TextWriter sw)
        {
            base.Output(sw);

            string levelPlusOne = Util.IntToString(Level + 1);

            if (RestrictionNotice != GedcomRestrictionNotice.None)
            {
                sw.Write(Environment.NewLine);
                sw.Write(levelPlusOne);
                sw.Write(" RESN ");
                sw.Write(RestrictionNotice.ToString().ToLower());
            }

            foreach (GedcomFamilyEvent familyEvent in events)
            {
                familyEvent.Output(sw);
            }

            if (!string.IsNullOrEmpty(husband))
            {
                sw.Write(Environment.NewLine);
                sw.Write(levelPlusOne);
                sw.Write(" HUSB ");
                sw.Write("@");
                sw.Write(husband);
                sw.Write("@");
            }

            if (!string.IsNullOrEmpty(wife))
            {
                sw.Write(Environment.NewLine);
                sw.Write(levelPlusOne);
                sw.Write(" WIFE ");
                sw.Write("@");
                sw.Write(wife);
                sw.Write("@");
            }

            string levelPlusTwo = Util.IntToString(Level + 2);

            foreach (string childID in children)
            {
                sw.Write(Environment.NewLine);
                sw.Write(levelPlusOne);
                sw.Write(" CHIL ");
                sw.Write("@");
                sw.Write(childID);
                sw.Write("@");

                GedcomIndividualRecord child = (GedcomIndividualRecord)Database[childID];
                if (child != null)
                {
                    // only output _FREL / _MREL value here,
                    // real PEDI goes on the FAMC on the INDI tag
                    GedcomFamilyLink link = null;
                    if (child.ChildInFamily(XrefId, out link))
                    {
                        switch (link.Pedigree)
                        {
                        case PedigreeLinkageType.FatherAdopted:
                            sw.Write(Environment.NewLine);
                            sw.Write(levelPlusTwo);
                            sw.Write("_FREL Adopted");
                            break;

                        case PedigreeLinkageType.MotherAdopted:
                            sw.Write(Environment.NewLine);
                            sw.Write(levelPlusTwo);
                            sw.Write("_MREL Adopted");
                            break;
                        }
                    }
                    else
                    {
                        System.Diagnostics.Debug.WriteLine("Missing child linkage for " + childID + " to family " + XrefId);
                    }
                }
                else
                {
                    System.Diagnostics.Debug.WriteLine("Missing child " + childID + " when outputting family " + XrefId);
                }
            }

            if (numberOfChildren != 0)
            {
                sw.Write(Environment.NewLine);
                sw.Write(levelPlusOne);
                sw.Write(" NCHI ");
                sw.Write("@");
                sw.Write(Util.IntToString(numberOfChildren));
                sw.Write("@");
            }

            if (submitterRecords != null)
            {
                foreach (string submitter in SubmitterRecords)
                {
                    sw.Write(Environment.NewLine);
                    sw.Write(levelPlusOne);
                    sw.Write(" SUBM ");
                    sw.Write("@");
                    sw.Write(submitter);
                    sw.Write("@");
                }
            }

            if (StartStatus != MarriageStartStatus.Unknown)
            {
                sw.Write(Environment.NewLine);
                sw.Write(levelPlusOne);
                sw.Write(" _MSTAT ");
                sw.Write(StartStatus.ToString());
            }
        }
 /// <summary>
 /// Server started callback
 /// </summary>
 /// <param name="server">server</param>
 /// <param name="status">start status</param>
 public void OnServerStarted(INetworkServer server, StartStatus status)
 {
     CallBackObj.OnServerStarted(this, status);
 }
Exemple #17
0
        public async Task <bool> ConnectAll()
        {
            var tempFailed   = new List <Instance>();
            var tempFinished = new List <Instance>();

            foreach (var bot in Bots.FindAll(b => b.SummonerId == 0))
            {
                try
                {
                    StartStatus retValue = StartStatus.Failed;
                    for (int i = 0; i < 5; ++i)
                    {
                        retValue = await bot.Start();

                        if (retValue == StartStatus.Ok || retValue == StartStatus.Finished)
                        {
                            break;
                        }
                    }

                    if (retValue == StartStatus.Failed)
                    {
                        Log.Write("Login failed :(");
                        tempFailed.Add(bot);
                    }

                    if (retValue == StartStatus.Finished)
                    {
                        tempFinished.Add(bot);
                    }
                }
                catch (Exception e)
                {
                    Log.Write("Exception: {0}", e);
                    tempFailed.Add(bot);
                }
            }

            Log.Write("Iterating through: {0} finished accounts.", tempFinished.Count);
            tempFinished.ForEach((bot) =>
            {
                OnAccountFinished(bot, null);
            });

            Log.Write("Iterating through: {0} failed accounts.", tempFailed.Count);
            foreach (var bot in tempFailed)
            {
                bool master = bot.Master;
                Bots.Remove(bot);
                bot.StopImmediately();
                Program.DatabaseInstance.SetProgress(bot.CurrentAccount, 0);
                var account  = Program.Accounts.Dequeue();
                var instance = new Instance(this, account, _version, master);
                Bots.Add(instance);
            }

            if (tempFailed.Count > 0)
            {
                return(await ConnectAll());
            }
            return(true);
        }