/// <summary>
 /// Sends a message to all clients in our group
 /// </summary>
 /// <param name="data"></param>
 /// <param name="length"></param>
 /// <param name="type"></param>
 /// <returns></returns>
 public async Task SendMessageToGroup(WebSocketGroup group, byte[] data, int length, WebSocketMessageType type)
 {
     if (group == null)
     {
         return;
     }
     await group.SendDistributedMessage(data, length, type, new List <GroupWebSocketService>
     {
         this
     });
 }
        /// <summary>
        /// Sends a message to a query and returns if a group was found for it
        /// </summary>
        /// <param name="query"></param>
        /// <param name="data"></param>
        /// <param name="length"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public async Task <bool> DistributeMessage(WebSocketGroupQuery query, byte[] data, int length, WebSocketMessageType type)
        {
            //Try to find a valid group
            WebSocketGroup g = FindGroup(query);

            if (g == null)
            {
                return(false);
            }

            //Send message
            await g.SendDistributedMessage(data, length, type, new List <GroupWebSocketService>());

            return(true);
        }