Пример #1
0
        public Function2Worker(
            ILoger <Function2Worker> log,
            IChannelsDownloadsReader downloadsReader,
            IBlobPathGenerator blobPathGenerator,
            IHttpDownloader httpDownloader,
            IBlobContainer blobContainer,
            IChannelsDownloadsWriter downloadsWriter,
            ISerializer serializer,
            IHashSum hasher)
        {
            Ensure.NotNull(log, nameof(log));
            Ensure.NotNull(downloadsReader, nameof(downloadsReader));
            Ensure.NotNull(blobPathGenerator, nameof(blobPathGenerator));
            Ensure.NotNull(httpDownloader, nameof(httpDownloader));
            Ensure.NotNull(blobContainer, nameof(blobContainer));
            Ensure.NotNull(downloadsWriter, nameof(downloadsWriter));
            Ensure.NotNull(serializer, nameof(serializer));
            Ensure.NotNull(hasher, nameof(hasher));

            this.log               = log;
            this.downloadsReader   = downloadsReader;
            this.blobPathGenerator = blobPathGenerator;
            this.httpDownloader    = httpDownloader;
            this.blobContainer     = blobContainer;
            this.downloadsWriter   = downloadsWriter;
            this.serializer        = serializer;
            this.hasher            = hasher;
        }
Пример #2
0
 public WorkerClass(UserClass User, ILoger Loger)
 {
     this.User      = User;
     this.Loger     = Loger;
     Timer          = new Timer(1000);
     Timer.Elapsed += Timer_Elapsed;
 }
Пример #3
0
        private void btnTestLog_Click(object sender, EventArgs e)
        {
            ILoger loger = Loger.GetLoger(null);

            //string layout = string.Format(@"{0} {1}", LayoutManager.TIME, LayoutManager.CONTENT);
            loger.AddAppender(new FileAppender(new FileAppenderConfig(null)));
        }
Пример #4
0
        /// <summary>
        /// Создаёт новый обьект бота.
        /// </summary>
        /// <param name="token">Токен для подключения.</param>
        /// <param name="loger">Пользовательский класс для логирования.</param>
        public DiscordBot(string token, ILoger loger = null, ICommandManager commandManager = null)
        {
            if (string.IsNullOrEmpty(token))
            {
                throw new ArgumentNullException(nameof(token));
            }



            Loger          = loger;
            CommandManager = commandManager;



            if (Loger is null)
            {
                Loger = new DefaultLoger();
            }

            if (CommandManager is null)
            {
                CommandManager = new DefaultManager();
            }



            Init(token);
        }
Пример #5
0
        /// <summary>
        /// 添加日志记录器
        /// </summary>
        /// <param name="loger">日志记录器</param>
        public static void AddLoger(ILoger loger)
        {
            if (loger == null)
            {
                return;
            }

            string logerName = loger.Name;

            if (string.IsNullOrEmpty(logerName))
            {
                if (_defaultLoger != null)
                {
                    _defaultLoger.Dispose();
                }

                _defaultLoger = loger;
            }
            else
            {
                lock (_logerDicLock)
                {
                    if (_logerDic.ContainsKey(logerName))
                    {
                        ((ILoger)_logerDic[logerName]).Dispose();
                    }

                    _logerDic[logerName] = loger;
                }
            }
        }
Пример #6
0
 public Listener(TcpServerConfig config, ServerEndPoint serverEndPoint, ILoger loger)
 {
     this.config        = config;
     this.server        = new AsyncServer(config.MaxBufferPoolSize, config.BufferSize, config.MaxConnections, loger);
     this.server.Name   = serverEndPoint.Name;
     this.localEndPoint = new IPEndPoint(IPAddress.Parse(serverEndPoint.IP), serverEndPoint.Port);
 }
Пример #7
0
        private static void CreateDefaultLoger()
        {
            var defaultLoger = new Loger(false);

            defaultLoger._appenders.Add(new FileAppender(new FileAppenderConfig(null)));
            _defaultLoger = defaultLoger;
        }
Пример #8
0
 public THttpServer(int port, ILoger lLoger)
 {
     loger       = lLoger;
     _httpServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
     _httpServer.Bind(new IPEndPoint(IPAddress.Any, port));
     _httpServer.Listen(0);
 }
Пример #9
0
        public Function3Worker(
            ILoger <Function3Worker> logger,
            IStreamBlobReader reader,
            IFeedReader feedReader,
            IQueue <ChannelUpdate> queue,
            IBlobPathGenerator pathGenerator,
            IBlobContainer blobContainer,
            ISerializer serializer,
            INewsWriter newsWriter,
            IHashSum hasher)
        {
            Ensure.NotNull(logger, nameof(logger));
            Ensure.NotNull(reader, nameof(reader));
            Ensure.NotNull(feedReader, nameof(feedReader));
            Ensure.NotNull(queue, nameof(queue));
            Ensure.NotNull(pathGenerator, nameof(pathGenerator));
            Ensure.NotNull(blobContainer, nameof(blobContainer));
            Ensure.NotNull(serializer, nameof(serializer));
            Ensure.NotNull(newsWriter, nameof(newsWriter));

            this.logger        = logger;
            this.reader        = reader;
            this.feedReader    = feedReader;
            this.queue         = queue;
            this.pathGenerator = pathGenerator;
            this.blobContainer = blobContainer;
            this.serializer    = serializer;
            this.newsWriter    = newsWriter;
            this.hasher        = hasher;
        }
Пример #10
0
        void OnLogerError(ILoger <ILogParameter> loger)
        {
            //при возникновении ошибки во время логирования
            LogerPack pack = null;

            foreach (var p in m_logers)
            {
                if (p.Loger != null)
                {
                    if (p.Loger == loger)
                    {
                        pack = p;
                        break;
                    }
                }
            }

            //удаляем косячный логер
            pack.Loger.LogerError -= OnLogerError;
            m_logers.Remove(pack);

            WindowsLoger.LogMessage("LogSet", "Логер был исключён из набора из-за исключения при логировании", System.Diagnostics.EventLogEntryType.Warning
                                    , new LogParameter("Тип логера", pack.Loger.GetType().FullName));

            if (m_logers.Count == 0)
            {
                if (!pack.Loger.GetType().Equals(typeof(WindowsLoger)))
                {
                    AddLoger(new WindowsLoger("LogSetGenerated"));

                    WindowsLoger.LogMessage("LogSet", "Логирование было переключено на журнал Windows из-за отсутствия других логеров в Наборе", System.Diagnostics.EventLogEntryType.Information
                                            , new LogParameter("Тип логера", pack.Loger.GetType().FullName));
                }
            }
        }
Пример #11
0
 public TcpSessionPool(int bufferPoolSize,int bufferSize,int maxSessions,ILoger loger)
 {
     this.bufferPoolSize = bufferPoolSize;
     this.bufferSize = bufferSize;
     this.maxSessions = maxSessions;
     this.loger = loger;
 }
Пример #12
0
 public RpcServer(RpcServerConfig config, ILoger loger)
     : base(config, loger)
 {
     rpcConfig = config;
     rpcContainer = new RpcContainer<IServerController>();
     RpcFactory = new ProxyFactory(config);
 }
Пример #13
0
 public Listener(TcpServerConfig config, ServerEndPoint serverEndPoint,ILoger loger)
 {
     this.config = config;
     this.server = new AsyncServer(config.MaxBufferPoolSize,config.BufferSize,config.MaxConnections,loger);
     this.server.Name = serverEndPoint.Name;
     this.localEndPoint = new IPEndPoint(IPAddress.Parse(serverEndPoint.IP), serverEndPoint.Port);
 }
Пример #14
0
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="hostName"></param>
        /// <param name="userName"></param>
        /// <param name="port"></param>
        /// <param name="password"></param>
        /// <param name="maxQueueCount"></param>
        /// <param name="serializerType"></param>
        /// <param name="loger"></param>
        /// <param name="writeWorkerTaskNumber"></param>
        private RabbitMQClient(string hostName, string userName, string password, int?port, int maxQueueCount
                               , SerializerType serializerType, ILoger loger = null, short writeWorkerTaskNumber = 4)
        {
            factory          = new ConnectionFactory();
            factory.HostName = hostName;
            if (!port.HasValue || port.Value < 0)
            {
                factory.Port = 5672;
            }
            else
            {
                factory.Port = port.Value;
            }
            factory.Password = password;
            factory.UserName = userName;

            serializer = SerializerFactory.Create(serializerType);
            _queue     = new System.Collections.Concurrent.BlockingCollection <StrongBox <QueueMessage> >();

            _maxQueueCount = maxQueueCount > 0 ? maxQueueCount : Options.DefaultMaxQueueCount;


            this.loger = loger;

            var         scheduler   = new ConcurrentExclusiveSchedulerPair(TaskScheduler.Default, writeWorkerTaskNumber).ExclusiveScheduler;
            TaskFactory taskFactory = new TaskFactory(scheduler);

            for (int i = 0; i < writeWorkerTaskNumber; i++)
            {
                taskFactory.StartNew(QueueToWrite, TaskCreationOptions.LongRunning);
            }
        }
Пример #15
0
 public TcpSessionPool(int bufferPoolSize, int bufferSize, int maxSessions, ILoger loger)
 {
     this.bufferPoolSize = bufferPoolSize;
     this.bufferSize     = bufferSize;
     this.maxSessions    = maxSessions;
     this.loger          = loger;
 }
Пример #16
0
 //构造函数
 public TcpServer(TcpServerConfig config, ILoger loger)
 {
     this.Config                = config;
     endPoint                   = new IPEndPoint(IPAddress.Parse(config.IP), config.Port);
     this.sessionPool           = new TcpSessionPool();
     this.sessionPool.TcpServer = this;
     this.Loger                 = loger;
 }
Пример #17
0
 //构造函数
 public TcpServer(TcpServerConfig config, ILoger loger)
 {
     this.Config = config;
     endPoint = new IPEndPoint(IPAddress.Parse(config.IP), config.Port);
     this.sessionPool = new TcpSessionPool();
     this.sessionPool.TcpServer = this;
     this.Loger = loger;
 }
Пример #18
0
 public TcpSession(ILoger loger)
 {
     this.loger = loger;
     SessionId = ObjectId.GenerateNewId().ToString();//生成唯一sesionId
     SessionData = new DataContainer();
     ReceiveEventArgs = new SocketAsyncEventArgs();
     SendEventArgs = new SocketAsyncEventArgs();
 }
Пример #19
0
 public TcpSession(ILoger loger)
 {
     this.loger       = loger;
     SessionId        = ObjectId.GenerateNewId().ToString();//生成唯一sesionId
     SessionData      = new DataContainer();
     ReceiveEventArgs = new SocketAsyncEventArgs();
     SendEventArgs    = new SocketAsyncEventArgs();
 }
Пример #20
0
        public ChannelUpdater(IOptions <ConnectionOptions> options, ILoger <ChannelUpdater> loger)
        {
            Ensure.NotNull(options, nameof(options));
            Ensure.NotNull(loger, nameof(loger));

            this.loger            = loger;
            this.connectionString = options.Value.SqlWriter;
        }
 public TcpClientPacketProtocol(int bufferSize, int bufferPoolSize,ILoger loger)
 {
     this.loger = loger;
     if (BufferPool == null)
         BufferPool = new FixedBufferPool(bufferSize,bufferPoolSize);
     ReceiveBuffers = new Queue<IFixedBuffer>();
     SendBuffer = new FixedBuffer(bufferPoolSize);
 }
Пример #22
0
 public UdpServer(UdpConfig config, ILoger loger)
 {
     this.Config = config;
     this.Loger = loger;
     sendArgsPool = new EventArgsPool(config.MaxSendEventArgs);
     receiveEventArgsList = new List<SocketAsyncEventArgs>(config.ListenerThreads);
     BufferPool = new FixedBufferPool(config.MaxFixedBufferPoolSize, config.BufferSize);
 }
Пример #23
0
 public UrlToXmlService(IConverter conv, ITxtReadeService read, IValidator valid, IXmlWriteService write, ILoger log)
 {
     converter = conv;
     reader    = read;
     validator = valid;
     writer    = write;
     loger     = log;
 }
Пример #24
0
 public UdpServer(UdpConfig config, ILoger loger)
 {
     this.Config          = config;
     this.Loger           = loger;
     sendArgsPool         = new EventArgsPool(config.MaxSendEventArgs);
     receiveEventArgsList = new List <SocketAsyncEventArgs>(config.ListenerThreads);
     BufferPool           = new FixedBufferPool(config.MaxFixedBufferPoolSize, config.BufferSize);
 }
Пример #25
0
        public ChannelsDownloadsWriter(IOptions <ConnectionOptions> options, ILoger <ChannelsDownloadsWriter> log)
        {
            Ensure.NotNull(options, nameof(options));
            Ensure.NotNull(log, nameof(log));

            this.connectionString = options.Value.SqlWriter;
            this.log = log;
        }
Пример #26
0
 public TcpClientSessionPool(uint serverId,EndPoint remoteEndPoint, int bufferSize,int fixedBufferPoolSize, int maxSessions, ILoger loger)
 {
     this.bufferSize = bufferSize;
     this.maxSessions = maxSessions;
     this.remoteEndPoint = remoteEndPoint;
     this.fixedBufferPoolSize = fixedBufferPoolSize;
     this.loger = loger;
     sessionId = new SessionId(serverId);
 }
Пример #27
0
        public Cuenta(int numeroCuenta, Moneda moneda, decimal saldo)
        {
            conversorMoneda = FactoriaConversion.ConversorActivo;
            logger          = FactoriaLogger.LogerActivo;

            NumeroCuenta = numeroCuenta;
            Moneda       = moneda;
            Saldo        = saldo;
        }
Пример #28
0
 public TcpClientSessionPool(long serverId, EndPoint remoteEndPoint, int bufferSize, int fixedBufferPoolSize, int maxSessions, ILoger loger)
 {
     this.bufferSize          = bufferSize;
     this.maxSessions         = maxSessions;
     this.remoteEndPoint      = remoteEndPoint;
     this.fixedBufferPoolSize = fixedBufferPoolSize;
     this.loger = loger;
     sessionId  = new SessionId(serverId);
 }
Пример #29
0
        public Cuenta(int numeroCuenta, Moneda moneda, decimal saldo)
        {
            conversorMoneda = FactoriaConversion.ConversorActivo;
            logger = FactoriaLogger.LogerActivo;

            NumeroCuenta = numeroCuenta;
            Moneda = moneda;
            Saldo = saldo;
        }
Пример #30
0
 public RUdpServer(RUdpServerConfig config, ILoger loger)
 {
     Config = config;
     Loger = loger;
     SessionPool = new RUdpSessionPool();
     SessionPool.RUdpServer = this;
     receiveEventArgsList = new List<SocketAsyncEventArgs>(config.ListenerThreads);
     SocketArgsPool = new EventArgsPool(config.MaxSendEventArgs);
     BufferPool = new FixedBufferPool(config.MaxFixedBufferPoolSize, config.BufferSize);
 }
Пример #31
0
        public void Analyze_TooShortFileName_CallLogger()
        {
            ILoger      logger   = Substitute.For <ILoger>();
            LogAnalyzer analyzer = new LogAnalyzer(logger);

            analyzer.MinNameLength = 6;
            analyzer.Analyze("a.txt");
            logger.Received().LogError("Filename too short:a.txt");
            StringAssert.Contains("too short", logger.LastError);
        }
Пример #32
0
        public ILoger GetLoger()
        {
            try
            {
                _loger = new DbLoger();
            }
            catch (Exception ex) { var e = ex; }

            return(_loger ?? (_loger = new EventLoger()));
        }
Пример #33
0
 public RUdpServer(RUdpServerConfig config, ILoger loger)
 {
     Config                 = config;
     Loger                  = loger;
     SessionPool            = new RUdpSessionPool();
     SessionPool.RUdpServer = this;
     receiveEventArgsList   = new List <SocketAsyncEventArgs>(config.ListenerThreads);
     SocketArgsPool         = new EventArgsPool(config.MaxSendEventArgs);
     BufferPool             = new FixedBufferPool(config.MaxFixedBufferPoolSize, config.BufferSize);
 }
Пример #34
0
        public TServer(int port, ILoger lLoger)
        {
            loger = lLoger;

            ClientList = new List <TServerClientSocket>();

            serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            serverSocket.Bind(new IPEndPoint(IPAddress.Any, port));
            serverSocket.Listen(0);
        }
Пример #35
0
 private Queue <SendCommond> cmdQueue = new Queue <SendCommond>(); //指令发送队列
 public TcpPacketProtocol(int bufferSize, int bufferPoolSize, ILoger loger)
 {
     this.loger = loger;
     if (BufferPool == null)
     {
         BufferPool = new FixedBufferPool(bufferSize, bufferPoolSize);
     }
     ReceiveBuffers = new Queue <IFixedBuffer>();
     SendBuffer     = new FixedBuffer(bufferPoolSize);
 }
Пример #36
0
        public static void Draw(ILoger Loger, WrapPanel KeyPanel, WrapPanel MousePanel)
        {
            var    Activity = Histograms.GetActivity(Loger);
            double Max1     = Activity.Item1.Count > 0 ? Activity.Item1.Max() : 0;

            if (Max1 > 140)
            {
                double coefficient = 150D / Max1;
                Activity.Item1 = Activity.Item1.Select((N) => N * coefficient).ToList();
            }
            KeyPanel.Children.Clear();
            foreach (double Value in Activity.Item1)
            {
                Grid grid = new Grid()
                {
                    Height = Value, Width = 35, VerticalAlignment = VerticalAlignment.Bottom, Margin = new Thickness(1, 0, 1, 0)
                };
                grid.Children.Add(new Border()
                {
                    BorderBrush = Brushes.Black, BorderThickness = new Thickness(1)
                });
                grid.Children.Add(new TextBlock()
                {
                    FontSize = 10, Text = Value.ToString(), VerticalAlignment = VerticalAlignment.Bottom, Margin = new Thickness(10), HorizontalAlignment = HorizontalAlignment.Center
                });
                KeyPanel.Children.Add(grid);
            }
            KeyPanel.UpdateLayout();

            double Max2 = Activity.Item2.Count > 0 ? Activity.Item2.Max() : 0;

            if (Max2 > 140)
            {
                double coefficient = 150D / Max2;
                Activity.Item2 = Activity.Item2.Select((N) => N * coefficient).ToList();
            }
            MousePanel.Children.Clear();
            foreach (double Value in Activity.Item2)
            {
                Grid grid = new Grid()
                {
                    Height = Value, Width = 35, VerticalAlignment = VerticalAlignment.Bottom, Margin = new Thickness(1, 0, 1, 0)
                };
                grid.Children.Add(new Border()
                {
                    BorderBrush = Brushes.Black, BorderThickness = new Thickness(1)
                });
                grid.Children.Add(new TextBlock()
                {
                    FontSize = 10, Text = Value.ToString(), VerticalAlignment = VerticalAlignment.Bottom, Margin = new Thickness(10), HorizontalAlignment = HorizontalAlignment.Center
                });
                MousePanel.Children.Add(grid);
            }
            MousePanel.UpdateLayout();
        }
Пример #37
0
 public TcpClientSession(EndPoint remoteEndPoint, int bufferSize, ILoger loger)
 {
     this.loger = loger;
     this.remoteEndPoint = remoteEndPoint;
     ReceiveEventArgs = new SocketAsyncEventArgs();
     ReceiveEventArgs.RemoteEndPoint = remoteEndPoint;
     SendEventArgs = new SocketAsyncEventArgs();
     SendEventArgs.RemoteEndPoint = remoteEndPoint;
     SendEventArgs.Completed += SendComplate;//数据发送完成事件
     receiveBuffer = new byte[bufferSize];
 }
Пример #38
0
 public TcpClientSession(EndPoint remoteEndPoint, int bufferSize, ILoger loger)
 {
     this.loger                      = loger;
     this.remoteEndPoint             = remoteEndPoint;
     ReceiveEventArgs                = new SocketAsyncEventArgs();
     ReceiveEventArgs.RemoteEndPoint = remoteEndPoint;
     SendEventArgs                   = new SocketAsyncEventArgs();
     SendEventArgs.RemoteEndPoint    = remoteEndPoint;
     SendEventArgs.Completed        += SendComplate;//数据发送完成事件
     receiveBuffer                   = new byte[bufferSize];
 }
Пример #39
0
        /// <summary>
        /// 获取指定日志记录器中的日志追加器
        /// </summary>
        /// <param name="logerName">日志记录器名称</param>
        /// <returns>日志追加器数组</returns>
        public static AppenderBase[] GetAppenders(string logerName)
        {
            ILoger loger = GetLoger(logerName);

            if (loger == null)
            {
                return(null);
            }

            return(loger.GetAppenders());
        }
Пример #40
0
 public StatisticClass(ILoger Loger)
 {
     CommonPrimeWindowProperty = new CommonPrimeWindowPropertyClass()
     {
         TotalKeyPressed = "Keyboard keystrokes: 0", TotalMouseMove = "Mouse clicks: 0"
     };
     this.Loger         = Loger;
     TickTimer          = new Timer(100);
     TickTimer.Elapsed += TickTimer_Elapsed;
     TickTimer.Start();
 }
Пример #41
0
        /// <summary>
        /// 根据日志追加器名称获取指定日志记录器中的日志追加器
        /// </summary>
        /// <param name="logerName">日志记录器名称</param>
        /// <param name="appenderName">日志追加器名称</param>
        /// <returns>日志追加器</returns>
        public static AppenderBase GetAppenderByName(string logerName, string appenderName)
        {
            ILoger loger = GetLoger(logerName);

            if (loger == null)
            {
                return(null);
            }

            return(loger.GetAppenderByName(appenderName));
        }
Пример #42
0
 public TcpClientSession(EndPoint remoteEndPoint, int bufferPoolSize, int bufferSize, ILoger loger)
 {
     this.loger = loger;
     this.remoteEndPoint = remoteEndPoint;
     SessionId = ObjectId.GenerateNewId().ToString();//生成唯一sesionId
     ReceiveEventArgs = new SocketAsyncEventArgs();
     ReceiveEventArgs.RemoteEndPoint = remoteEndPoint;
     SendEventArgs = new SocketAsyncEventArgs();
     SendEventArgs.RemoteEndPoint = remoteEndPoint;
     PacketProtocol = new TcpClientPacketProtocol(bufferSize, bufferPoolSize, loger);
     PacketProtocol.Session = this;
     SendEventArgs.Completed += PacketProtocol.SendComplate;//数据发送完成事件
     receiveBuffer = new byte[bufferSize];
 }
Пример #43
0
        public Renderer(PictureBox pictureBox, Scene scene)
        {
            _loger = Context.Instance.Loger;

            _scene = scene;
            _scene.PrepareScene();

            //_loger.Log(Level.Verbose, _scene.BvhTree.GetStatistics());

            _pictureBox = pictureBox;

            int width = _scene.Camera.Width;
            int height = _scene.Camera.Height;

            pictureBox.Width = width;
            pictureBox.Height = height;
            _bitmap = new Bitmap(width, height);
            pictureBox.Image = _bitmap;

            _rayTracer = new Tracer.RayTracer(_scene);
        }
Пример #44
0
 //构造函数
 public AsyncServer(int bufferPoolSize, int bufferSize, int maxConnections,ILoger loger)
 {
     this.sessionPool = new TcpSessionPool(bufferPoolSize,bufferSize,maxConnections,loger);
     this.OnlineList = new ConcurrentDictionary<string, ITcpSession>();
     this.loger = loger;
 }
Пример #45
0
 public HostHelperJsonManager(HostHelperJson helper, ILoger loger)
 {
     _helper = helper;
     _loger = loger;
 }
Пример #46
0
 public HostHelperManager(HostHelper helper, ILoger loger)
 {
     _helper = helper;
     _loger = loger;
 }
Пример #47
0
 public TestServer(RUdpServerConfig config, ILoger loger)
     : base(config, loger)
 {
 }
Пример #48
0
 public BvhTreeBuilder()
 {
     _loger = Context.Instance.Loger;
 }
Пример #49
0
        public QueryClient(EndPoint server, ILoger loger) : base(server, 1024, loger)
        {

        }
Пример #50
0
 public MyServer(TcpServerConfig config, ILoger loger) : base(config, loger)
 { }
Пример #51
0
 public static void SetLogger(ILoger loger)
 {
     logerActivo = loger;
 }