public static async Task <bool> SendMessageAsync(byte[] buffer)
        {
            await _mutex.WaitAsync().ConfigureAwait(false);

            try
            {
                if (!IsJoined)
                {
                    return(false);
                }

                try
                {
                    await _client.SendToGroupAsync(buffer, 0, buffer.Length);

                    return(true);
                }
                catch
                {
                    return(false);
                }
            }
            finally
            {
                _mutex.Release();
            }
        }