public async Task <IEnumerable <string> > JoinGroupAsync(string groupName)
        {
            // Get clients in ths group, if members count less equals 4 then add him.
            var clientsInGroup = await _clusterClient.GetGroup <SampleHub>(groupName).GetConnectionIdsAsync();

            // Do not do this, just identical above. We can also get the members from another hub in this way.
            clientsInGroup = await _clusterClient.GetGroup(groupName, typeof(SampleHub).GUID).GetConnectionIdsAsync();

            if (clientsInGroup.Count <= 4)
            {
                await Groups.AddToGroupAsync(Context.ConnectionId, groupName);

                // Returns the current group members.
                return(clientsInGroup);
            }
            else
            {
                return(Enumerable.Empty <string>());
            }
        }
 public override Task SendGroupAsync(string groupName, string methodName, object[] args, CancellationToken cancellationToken = default)
 {
     return(_clusterClient.GetGroup(groupName, _hubTypeId).SendClientSetAsync(methodName, args));
 }