/// <summary> /// Converts informer to <see cref="Message"/>. /// </summary> /// <param name="informer"></param> /// <returns></returns> public static Message ToMessage(this BaseInformer informer) { var rv = new Message() { Type = MessageType.Notification, ActionName = informer.GetActionName(), Data = informer, }; return(rv); }
/// <summary> /// Broadcasts <paramref name="informer"/> as message in <paramref name="server"/>. /// </summary> /// <param name="informer"></param> /// <param name="server"></param> public static void Send(this BaseInformer informer, WsServer server) { server.Broadcast(informer.ToMessage()); }
/// <summary> /// Provides name for custom manipulator. /// </summary> /// <param name="informer"></param> /// <returns></returns> public static string GetActionName(this BaseInformer informer) { return($"Informer.{informer.Name}"); }
/// <summary> /// Sends <paramref name="informer"/> as message to <paramref name="socket"/>. /// </summary> /// <param name="informer"></param> /// <param name="socket"></param> public static void Send(this BaseInformer informer, IWsSocket socket) { socket.Send(informer.ToMessage()); }