protected async Task StartJoinLeaveGroupAsync(List <HubConnection> connection, int ind, List <string> groupNameMatrix,
                                                      int connectionCnt, int duration, int interval, Counter counter, List <bool> brokenConnectionInds)
        {
            var isJoin = true;
            await Task.Delay(StartTimeOffsetGenerator.Delay(TimeSpan.FromSeconds(interval)));

            using (var cts = new CancellationTokenSource(TimeSpan.FromSeconds(duration)))
            {
                while (!cts.IsCancellationRequested)
                {
                    var mode = isJoin ? "JoinGroup" : "LeaveGroup";
                    isJoin = !isJoin;
                    await JoinLeaveGroupOp.JoinLeaveGroup(mode, connection, groupNameMatrix, counter);

                    await Task.Delay(TimeSpan.FromSeconds(interval));
                }
            }
        }
 protected void SetCallbacksForJoinLeaveGroup()
 {
     JoinLeaveGroupOp.SetCallbacks("JoinGroup", _tk.Connections, _tk.Counters);
     JoinLeaveGroupOp.SetCallbacks("LeaveGroup", _tk.Connections, _tk.Counters);
 }