/// <summary>
 /// On send frame event handler.
 /// </summary>
 /// <param name="sender">the sender object.</param>
 /// <param name="e">The event arguments.</param>
 private void ProtocolOnSendFrame(object sender, FrameEventArgs e)
 {
     if (this.Filter == null || this.Filter(e.Frame))
     {
         if (this.OnFrameSent != null)
         {
             this.OnFrameSent(this, e);
         }
     }
 }
 /// <summary>
 /// On receive frame event handler.
 /// </summary>
 /// <param name="sender">the sender object.</param>
 /// <param name="e">The event arguments.</param>
 private void ProtocolOnFrameReceived(object sender, FrameEventArgs e)
 {
     if (this.Filter == null || this.Filter(e.Frame))
     {
         if (this.OnFrameReceived != null)
         {
             this.OnFrameReceived(this, e);
         }
     }
 }