Exemplo n.º 1
0
 public IoFilterEvent(INextFilter nextFilter, IoEventType eventType, IoSession session, Object parameter)
     : base(eventType, session, parameter)
 {
     if (nextFilter == null)
         throw new ArgumentNullException("nextFilter");
     _nextFilter = nextFilter;
 }
Exemplo n.º 2
0
 private void SetProfilers(IoEventType eventTypes)
 {
     if ((eventTypes & IoEventType.MessageReceived) == IoEventType.MessageReceived)
     {
         _messageReceivedTimerWorker = new TimerWorker();
         _profileMessageReceived     = true;
     }
     if ((eventTypes & IoEventType.MessageSent) == IoEventType.MessageSent)
     {
         _messageSentTimerWorker = new TimerWorker();
         _profileMessageSent     = true;
     }
     if ((eventTypes & IoEventType.SessionCreated) == IoEventType.SessionCreated)
     {
         _sessionCreatedTimerWorker = new TimerWorker();
         _profileSessionCreated     = true;
     }
     if ((eventTypes & IoEventType.SessionOpened) == IoEventType.SessionOpened)
     {
         _sessionOpenedTimerWorker = new TimerWorker();
         _profileSessionOpened     = true;
     }
     if ((eventTypes & IoEventType.SessionIdle) == IoEventType.SessionIdle)
     {
         _sessionIdleTimerWorker = new TimerWorker();
         _profileSessionIdle     = true;
     }
     if ((eventTypes & IoEventType.SessionClosed) == IoEventType.SessionClosed)
     {
         _sessionClosedTimerWorker = new TimerWorker();
         _profileSessionClosed     = true;
     }
 }
Exemplo n.º 3
0
 /// <summary>
 /// </summary>
 public IoEvent(IoEventType eventType, IoSession session, Object parameter)
 {
     if (session == null)
         throw new ArgumentNullException("session");
     _eventType = eventType;
     _session = session;
     _parameter = parameter;
 }
Exemplo n.º 4
0
 /// <summary>
 /// Creates an executor filter.
 /// </summary>
 /// <param name="executor">the <see cref="IoEventExecutor"/> to run events</param>
 /// <param name="eventTypes">the event types interested</param>
 public ExecutorFilter(IoEventExecutor executor, IoEventType eventTypes)
 {
     _eventTypes = eventTypes;
     if (executor == null)
         _executor = new OrderedThreadPoolExecutor();
     else
         _executor = executor;
 }
Exemplo n.º 5
0
 /// <summary>
 /// </summary>
 public IoFilterEvent(INextFilter nextFilter, IoEventType eventType, IoSession session, Object parameter)
     : base(eventType, session, parameter)
 {
     if (nextFilter == null)
     {
         throw new ArgumentNullException("nextFilter");
     }
     _nextFilter = nextFilter;
 }
Exemplo n.º 6
0
 /// <summary>
 /// </summary>
 public IoEvent(IoEventType eventType, IoSession session, Object parameter)
 {
     if (session == null)
     {
         throw new ArgumentNullException("session");
     }
     _eventType = eventType;
     _session   = session;
     _parameter = parameter;
 }
Exemplo n.º 7
0
 public ExecutorFilter(IoEventExecutor executor, IoEventType eventTypes)
 {
     _eventTypes = eventTypes;
     if (executor == null)
     {
         _executor = new OrderedThreadPoolExecutor();
     }
     else
     {
         _executor = executor;
     }
 }
Exemplo n.º 8
0
        private TimerWorker GetTimerWorker(IoEventType type)
        {
            switch (type)
            {
            case IoEventType.MessageReceived:
                if (_profileMessageReceived)
                {
                    return(_messageReceivedTimerWorker);
                }
                break;

            case IoEventType.MessageSent:
                if (_profileMessageSent)
                {
                    return(_messageSentTimerWorker);
                }
                break;

            case IoEventType.SessionCreated:
                if (_profileSessionCreated)
                {
                    return(_sessionCreatedTimerWorker);
                }
                break;

            case IoEventType.SessionOpened:
                if (_profileSessionOpened)
                {
                    return(_sessionOpenedTimerWorker);
                }
                break;

            case IoEventType.SessionIdle:
                if (_profileSessionIdle)
                {
                    return(_sessionIdleTimerWorker);
                }
                break;

            case IoEventType.SessionClosed:
                if (_profileSessionClosed)
                {
                    return(_sessionClosedTimerWorker);
                }
                break;

            default:
                break;
            }

            throw new ArgumentException("You are not monitoring this event. Please add this event first.");
        }
Exemplo n.º 9
0
 /// <summary>
 /// Get the average time for the specified method represented by the <see cref="IoEventType"/>.
 /// </summary>
 public Double GetAverageTime(IoEventType type)
 {
     return(GetTimerWorker(type).Average);
 }
Exemplo n.º 10
0
 /// <summary>
 /// Get the average time for the specified method represented by the <see cref="IoEventType"/>.
 /// </summary>
 public Double GetAverageTime(IoEventType type)
 {
     return GetTimerWorker(type).Average;
 }
Exemplo n.º 11
0
 /// <summary>
 /// Creates a profiler.
 /// </summary>
 /// <param name="timeUnit">the time unit being used</param>
 /// <param name="eventTypes">the event types to profile</param>
 public ProfilerTimerFilter(TimeUnit timeUnit, IoEventType eventTypes)
 {
     _timeUnit = timeUnit;
     SetProfilers(eventTypes);
 }
Exemplo n.º 12
0
 /// <summary>
 /// Gets maximum time the method represented by <see cref="IoEventType"/> has executed.
 /// </summary>
 public Int64 GetMaximumTime(IoEventType type)
 {
     return(GetTimerWorker(type).maximum);
 }
Exemplo n.º 13
0
 /// <summary>
 /// Gets the total time this method has been executing.
 /// </summary>
 public Int64 GetTotalTime(IoEventType type)
 {
     return GetTimerWorker(type).total;
 }
Exemplo n.º 14
0
 /// <summary>
 /// Gets the total number of times the method has been called that is represented
 /// by the <see cref="IoEventType"/>.
 /// </summary>
 public Int64 GetTotalCalls(IoEventType type)
 {
     return GetTimerWorker(type).callsNumber;
 }
Exemplo n.º 15
0
 /// <summary>
 /// Creates an executor filter with default <see cref="IoEventExecutor"/>.
 /// </summary>
 /// <param name="eventTypes">the event types interested</param>
 public ExecutorFilter(IoEventType eventTypes)
     : this(null, eventTypes)
 { }
Exemplo n.º 16
0
 /// <summary>
 /// Gets the total number of times the method has been called that is represented
 /// by the <see cref="IoEventType"/>.
 /// </summary>
 public Int64 GetTotalCalls(IoEventType type)
 {
     return(GetTimerWorker(type).callsNumber);
 }
Exemplo n.º 17
0
 /// <summary>
 /// Gets the total time this method has been executing.
 /// </summary>
 public Int64 GetTotalTime(IoEventType type)
 {
     return(GetTimerWorker(type).total);
 }
Exemplo n.º 18
0
 /// <summary>
 /// Gets maximum time the method represented by <see cref="IoEventType"/> has executed.
 /// </summary>
 public Int64 GetMaximumTime(IoEventType type)
 {
     return GetTimerWorker(type).maximum;
 }
Exemplo n.º 19
0
        private TimerWorker GetTimerWorker(IoEventType type)
        {
            switch (type)
            {
                case IoEventType.MessageReceived:
                    if (_profileMessageReceived)
                        return _messageReceivedTimerWorker;
                    break;
                case IoEventType.MessageSent:
                    if (_profileMessageSent)
                        return _messageSentTimerWorker;
                    break;
                case IoEventType.SessionCreated:
                    if (_profileSessionCreated)
                        return _sessionCreatedTimerWorker;
                    break;
                case IoEventType.SessionOpened:
                    if (_profileSessionOpened)
                        return _sessionOpenedTimerWorker;
                    break;
                case IoEventType.SessionIdle:
                    if (_profileSessionIdle)
                        return _sessionIdleTimerWorker;
                    break;
                case IoEventType.SessionClosed:
                    if (_profileSessionClosed)
                        return _sessionClosedTimerWorker;
                    break;
                default:
                    break;
            }

            throw new ArgumentException("You are not monitoring this event. Please add this event first.");
        }
Exemplo n.º 20
0
 private void SetProfilers(IoEventType eventTypes)
 {
     if ((eventTypes & IoEventType.MessageReceived) == IoEventType.MessageReceived)
     {
         _messageReceivedTimerWorker = new TimerWorker();
         _profileMessageReceived = true;
     }
     if ((eventTypes & IoEventType.MessageSent) == IoEventType.MessageSent)
     {
         _messageSentTimerWorker = new TimerWorker();
         _profileMessageSent = true;
     }
     if ((eventTypes & IoEventType.SessionCreated) == IoEventType.SessionCreated)
     {
         _sessionCreatedTimerWorker = new TimerWorker();
         _profileSessionCreated = true;
     }
     if ((eventTypes & IoEventType.SessionOpened) == IoEventType.SessionOpened)
     {
         _sessionOpenedTimerWorker = new TimerWorker();
         _profileSessionOpened = true;
     }
     if ((eventTypes & IoEventType.SessionIdle) == IoEventType.SessionIdle)
     {
         _sessionIdleTimerWorker = new TimerWorker();
         _profileSessionIdle = true;
     }
     if ((eventTypes & IoEventType.SessionClosed) == IoEventType.SessionClosed)
     {
         _sessionClosedTimerWorker = new TimerWorker();
         _profileSessionClosed = true;
     }
 }
Exemplo n.º 21
0
 /// <summary>
 /// Creates a profiler.
 /// </summary>
 /// <param name="timeUnit">the time unit being used</param>
 /// <param name="eventTypes">the event types to profile</param>
 public ProfilerTimerFilter(TimeUnit timeUnit, IoEventType eventTypes)
 {
     _timeUnit = timeUnit;
     SetProfilers(eventTypes);
 }
Exemplo n.º 22
0
 public ExecutorFilter(IoEventType eventTypes)
     : this(null, eventTypes)
 {
 }