Пример #1
0
 private void TestIt()
 {
     try
     {
         if (comboBoxSelectAlternative.SelectedIndex >= 0 && comboBoxSelectAlternative.SelectedIndex < m_Configuration.Count)
         {
             ConfigurationAlternative            alternative = m_Configuration[comboBoxSelectAlternative.SelectedIndex];
             TFTPServer.ConfigurationAlternative filter      = alternative.IsRegularExpression ? TFTPServer.ConfigurationAlternative.CreateRegex(alternative.Filter) : TFTPServer.ConfigurationAlternative.CreateWildcard(alternative.Filter);
             if (filter.Match(textBoxTestString.Text))
             {
                 buttonMatchResult.Text      = "Match!";
                 buttonMatchResult.BackColor = Color.LightGreen;
             }
             else
             {
                 buttonMatchResult.Text      = "Does not match";
                 buttonMatchResult.BackColor = Color.Red;
             }
         }
         else
         {
             buttonMatchResult.Text      = "";
             buttonMatchResult.BackColor = SystemColors.Control;
         }
     }
     catch (Exception e)
     {
         buttonMatchResult.Text      = "Invalid filter";
         buttonMatchResult.BackColor = Color.Red;
     }
 }
Пример #2
0
        private void Resurrect()
        {
            lock (m_Lock)
            {
                if (!m_Disposed)
                {
                    try
                    {
                        m_Server                       = new TFTPServer();
                        m_Server.Name                  = m_Config.Name;
                        m_Server.EndPoint              = m_Config.EndPoint;
                        m_Server.SinglePort            = m_Config.SinglePort;
                        m_Server.Ttl                   = (short)m_Config.Ttl;
                        m_Server.DontFragment          = m_Config.DontFragment;
                        m_Server.RootPath              = m_Config.RootPath;
                        m_Server.AutoCreateDirectories = m_Config.AutoCreateDirectories;
                        m_Server.AllowRead             = m_Config.AllowRead;
                        m_Server.AllowWrite            = m_Config.AllowWrite;
                        m_Server.ResponseTimeout       = m_Config.Timeout;
                        m_Server.Retries               = m_Config.Retries;
                        m_Server.ConvertPathSeparator  = m_Config.ConvertPathSeparator;
                        m_Server.WindowSize            = m_Config.WindowSize;

                        foreach (var alt in m_Config.Alternatives)
                        {
                            TFTPServer.ConfigurationAlternative tftpAlt = alt.IsRegularExpression ? TFTPServer.ConfigurationAlternative.CreateRegex(alt.Filter) : TFTPServer.ConfigurationAlternative.CreateWildcard(alt.Filter);
                            tftpAlt.WindowSize = alt.WindowSize;
                            m_Server.ConfigurationAlternatives.Add(tftpAlt);
                        }

                        m_Server.OnStatusChange += server_OnStatusChange;
                        m_Server.OnTrace        += server_OnTrace;
                        m_Server.Start();
                    }
                    catch (Exception)
                    {
                        CleanupAndRetry();
                    }
                }
            }
        }