/// <summary> /// Notifies subscribers of the specified event handler. /// </summary> /// <typeparam name="T">The type of the message.</typeparam> /// <typeparam name="TContext">The type of the context.</typeparam> /// <param name="handler">The message handler.</param> /// <param name="header">The message header.</param> /// <param name="message">The message body.</param> /// <param name="context">The message context.</param> /// <returns>The protocol event args.</returns> protected ProtocolEventArgs <T, TContext> Notify <T, TContext>(ProtocolEventHandler <T, TContext> handler, IMessageHeader header, T message, TContext context) where T : ISpecificRecord { var args = new ProtocolEventArgs <T, TContext>(header, message, context); handler?.Invoke(this, args); return(args); }
/// <summary> /// Notifies subscribers of the specified event handler. /// </summary> /// <typeparam name="T">The type of the message.</typeparam> /// <param name="handler">The message handler.</param> /// <param name="header">The message header.</param> /// <param name="message">The message body.</param> /// <returns>The protocol event args.</returns> protected ProtocolEventArgs <T> Notify <T>(ProtocolEventHandler <T> handler, IMessageHeader header, T message) where T : ISpecificRecord { var args = new ProtocolEventArgs <T>(header, message); Received(header, message); handler?.Invoke(this, args); return(args); }