Example #1
0
        public void Build(DynamicConfigOptions options)
        {
            IPrefixBuilder      prefixBuilder   = options.IgnorePrefixes ? (IPrefixBuilder) new EmptyPrefixBuilder() : new PrefixBuilder(options.Prefixes);
            IComparer <Version> versionComparer = options.VersionComparer ?? VersionComparer.Default;
            ISegmentChecker     segmentChecker  = options.SegmentChecker ?? SegmentChecker.DefaultOnly;

            var configReader = new ConfigReader(_configs, prefixBuilder, options.AppVersion, versionComparer, segmentChecker);

            _config = configReader.ParseConfig();
        }
Example #2
0
 public ConfigReader(List <Dictionary <object, object> > configs,
                     IPrefixBuilder prefixBuilder,
                     Version appVersion,
                     IComparer <Version> versionComparer,
                     ISegmentChecker segmentChecker)
 {
     _configs         = configs;
     _appVersion      = appVersion;
     _versionComparer = versionComparer;
     _segmentChecker  = segmentChecker;
     _keyBuilder      = new ConfigKeyBuilder(prefixBuilder);
 }
Example #3
0
        public RotatedListener( IPrefixBuilder builder )
        {
            //_prefixBuilder = (builder == null) ? new DefaultPrefixBuilder() : builder;
            _prefixBuilder = builder;

            string o = ConfigurationSettings.AppSettings["RotatedListener.LogLocation"];
            if (o != null && o.Length != 0)
                _logLocation = o;
            if (!Path.IsPathRooted(_logLocation))
                _logLocation = Path.Combine(
                        Path.GetDirectoryName(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile),
                        _logLocation);

            o = ConfigurationSettings.AppSettings["RotatedListener.LogPrefix"];
            if (o != null && o.Length != 0) _logPrefix = o;

            o = ConfigurationSettings.AppSettings["RotatedListener.LogSpan"];
            if (o != null && o.Length != 0) _logSpan = TimeSpan.FromMinutes(Convert.ToInt32(o));

            _logTime = DateTime.Now;
        }
        /// <summary>
        /// Метод добавляет нового клиента
        /// </summary>        
        void AddClient(TcpClient client, IPrefixBuilder pb)
        {
            IClientWorker scw = null;
            switch (_servertype)
            {
                case ClientWorkerTypes.Simple:
                    {
                        scw = new SimpleClientWorker();
                        break;
                    }
                case ClientWorkerTypes.AsyncRead:
                    {
                        scw = new AsyncReadClientWorker();
                        break;
                    }
                default:
                    {
                        scw = new SimpleClientWorker();
                        break;
                    }
            }

            if (scw == null)
            {
                ConsoleLogger.LogMessage("No clientworker used!");
                return;
            }
            scw.Init(client, pb);
            scw.OnLoopFinish += new EventHandler(worker_OnLoopFinish);

            lock (clientlist)
            {
                if (clientlist.Count == 0)
                {
                    TUAllClients.MarkInterval();
                    TSAllClients.Reset();
                }
                clientlist.Add(scw);
            }
            ConsoleLogger.LogMessage(String.Format("Added client: {0:S} {1:S}",
                scw.ToString(),client.Client.RemoteEndPoint.ToString()));
            scw.StartLoop();
        }
 public SimplePrefixServer(int port, IPrefixBuilder pb, ClientWorkerTypes servertype)
 {
     state = ServerState.Inited;
     _port = port;
     _pb = pb;
     _servertype = servertype;
     state = ServerState.Inited;
     clientacceptor = new Thread(new ThreadStart(StartClientLoop));
 }
Example #6
0
 public ConfigKeyBuilder(IPrefixBuilder prefixBuilder)
 {
     _prefixBuilder = prefixBuilder;
 }
Example #7
0
        public bool Init(TcpClient inclient, IPrefixBuilder pb)
        {
            if (pb == null) throw new ArgumentException("Not valid params", "pb");
            if (inclient == null) throw new ArgumentException("Not valid params", "inclient");

            _pb = pb;
            tcpclient = inclient;
            State = ClientState.Inited;

            return true;
        }
Example #8
0
 public PrefixListener(TextWriter writer, string name, IPrefixBuilder prefix)
     : this(writer, name)
 {
     _prefixBuilder = prefix;
 }
Example #9
0
 public PrefixListener(string fileName, string name, IPrefixBuilder prefix)
     : this(fileName, name)
 {
     _prefixBuilder = prefix;
 }
Example #10
0
 public PrefixListener(Stream stream, string name, IPrefixBuilder prefix)
     : this(stream, name)
 {
     _prefixBuilder = prefix;
 }
Example #11
0
 public PrefixListener(TextWriter writer, IPrefixBuilder prefix)
     : this(writer)
 {
     _prefixBuilder = prefix;
 }
Example #12
0
 public PrefixListener(Stream stream, IPrefixBuilder prefix)
     : this(stream)
 {
     _prefixBuilder = prefix;
 }
Example #13
0
 protected void Init()
 {
     _prefixBuilder = new DefaultPrefixBuilder();
 }