Beispiel #1
0
 /// <inheritdoc/>
 public override void SessionOpened(INextFilter nextFilter, IoSession session)
 {
     if ((_eventTypes & IoEventType.SessionOpened) == IoEventType.SessionOpened)
     {
         IoFilterEvent ioe = new IoFilterEvent(nextFilter, IoEventType.SessionOpened, session, null);
         FireEvent(ioe);
     }
     else
     {
         base.SessionOpened(nextFilter, session);
     }
 }
Beispiel #2
0
 protected abstract void Filter(IoFilterEvent ioe);
Beispiel #3
0
 /// <summary>
 /// Fires an event.
 /// </summary>
 /// <param name="ioe"></param>
 protected void FireEvent(IoFilterEvent ioe)
 {
     _executor.Execute(ioe);
 }
Beispiel #4
0
 /// <inheritdoc/>
 public override void FilterClose(INextFilter nextFilter, IoSession session)
 {
     if ((_eventTypes & IoEventType.Close) == IoEventType.Close)
     {
         IoFilterEvent ioe = new IoFilterEvent(nextFilter, IoEventType.Close, session, null);
         FireEvent(ioe);
     }
     else
     {
         base.FilterClose(nextFilter, session);
     }
 }
Beispiel #5
0
 /// <inheritdoc/>
 public override void FilterWrite(INextFilter nextFilter, IoSession session, IWriteRequest writeRequest)
 {
     if ((_eventTypes & IoEventType.Write) == IoEventType.Write)
     {
         IoFilterEvent ioe = new IoFilterEvent(nextFilter, IoEventType.Write, session, writeRequest);
         FireEvent(ioe);
     }
     else
     {
         base.FilterWrite(nextFilter, session, writeRequest);
     }
 }
Beispiel #6
0
 /// <inheritdoc/>
 public override void MessageReceived(INextFilter nextFilter, IoSession session, Object message)
 {
     if ((_eventTypes & IoEventType.MessageReceived) == IoEventType.MessageReceived)
     {
         IoFilterEvent ioe = new IoFilterEvent(nextFilter, IoEventType.MessageReceived, session, message);
         FireEvent(ioe);
     }
     else
     {
         base.MessageReceived(nextFilter, session, message);
     }
 }
Beispiel #7
0
 /// <inheritdoc/>
 public override void ExceptionCaught(INextFilter nextFilter, IoSession session, Exception cause)
 {
     if ((_eventTypes & IoEventType.ExceptionCaught) == IoEventType.ExceptionCaught)
     {
         IoFilterEvent ioe = new IoFilterEvent(nextFilter, IoEventType.ExceptionCaught, session, cause);
         FireEvent(ioe);
     }
     else
     {
         base.ExceptionCaught(nextFilter, session, cause);
     }
 }
Beispiel #8
0
 /// <inheritdoc/>
 public override void SessionIdle(INextFilter nextFilter, IoSession session, IdleStatus status)
 {
     if ((_eventTypes & IoEventType.SessionIdle) == IoEventType.SessionIdle)
     {
         IoFilterEvent ioe = new IoFilterEvent(nextFilter, IoEventType.SessionIdle, session, status);
         FireEvent(ioe);
     }
     else
     {
         base.SessionIdle(nextFilter, session, status);
     }
 }