Пример #1
0
        public RoomManagerLoadTesting(ServerStateMachine serverStateMachine, ServerAccount serverAccount)
        {
            Console.WriteLine("Start Rooms Tests...");
            //			TestServerStateMachine testServerStateMachine = new TestServerStateMachine();
            TestRoomManager testRoomManager = new TestRoomManager(serverStateMachine, serverAccount);

            LoadTestCreateNewRooms(testRoomManager, delegate()
            {
                LoadTestGetRoom(testRoomManager, delegate()
                {
                    //LoadTestJoinRoom(testAvatarManager, delegate()
                    //{
                    //});
                });
            });


            //Console.WriteLine("Finished All Rooms Tests!");
        }
Пример #2
0
        private void LoadTestGetRoomCallback(TestRoomManager testRoomManager, RoomId roomId, System.IO.TextWriter tw, System.Action gotRoomsDoneCallback)
        {
            Stopwatch stopWatch = new Stopwatch();

            stopWatch.Start();
            testRoomManager.TestGetRoom(roomId,
                                        delegate(IServerDistributedRoom room)
            {
                stopWatch.Stop();
                tw.WriteLine("It took " + stopWatch.Elapsed.ToString() + " to get room: " + room.RoomName);
                Console.WriteLine("It took " + stopWatch.Elapsed.ToString() + " to get room: " + room.RoomName);
                mNumberOfRoomsGotten++;

                if (mNumberOfRoomsToCreate == mNumberOfRoomsGotten)
                {
                    gotRoomsDoneCallback();
                }
            });
        }
Пример #3
0
        private void LoadTestCreateNewRoomCallback(TestRoomManager testRoomManager, int roomIndex, System.IO.TextWriter tw, System.Action createdRoomsDoneCallback)
        {
            Stopwatch stopWatch = new Stopwatch();

            stopWatch.Start();
            testRoomManager.CreateNewRoomInDatabase(Guid.Empty, "test room #" + roomIndex, Hangout.Shared.RoomType.GreenScreenRoom, Hangout.Shared.PrivacyLevel.Private,
                                                    delegate(IServerDistributedRoom room)
            {
                stopWatch.Stop();
                tw.WriteLine("It took " + stopWatch.Elapsed.ToString() + " to create room: " + room.RoomName);
                Console.WriteLine("It took " + stopWatch.Elapsed.ToString() + " to create room: " + room.RoomName);
                mNumberOfRoomsCreated++;
                mRoomIdsCreated.Add(room.RoomId);

                if (mNumberOfRoomsToCreate == mNumberOfRoomsCreated)
                {
                    createdRoomsDoneCallback();
                }
            });
        }
Пример #4
0
        private void LoadTestGetRoom(TestRoomManager testRoomManager, System.Action getRoomDoneCallback)
        {
            // create a writer and open the file
            System.IO.TextWriter tw = new System.IO.StreamWriter("C:/TestGetRoomLoadTest.txt");

            Console.WriteLine("Getting " + mNumberOfRoomsToCreate + " rooms...");
            tw.WriteLine("Getting " + mNumberOfRoomsToCreate + " rooms...");

            Stopwatch runEntireTestStopWatch = new Stopwatch();

            runEntireTestStopWatch.Start();

            System.Action gotRoomsDoneCallback = delegate()
            {
                runEntireTestStopWatch.Stop();
                tw.WriteLine("Total time it took to get " + mNumberOfRoomsToCreate + " of rooms: " + runEntireTestStopWatch.Elapsed.ToString());
                Console.WriteLine("Total time it took to get " + mNumberOfRoomsToCreate + " of rooms: " + runEntireTestStopWatch.Elapsed.ToString());

                // close the stream
                tw.Close();

                getRoomDoneCallback();
            };

            BackgroundWorker bgWorker = new BackgroundWorker();

            bgWorker.DoWork += new DoWorkEventHandler(delegate(object o, DoWorkEventArgs args)
            {
                foreach (RoomId roomId in mRoomIdsCreated)
                {
                    LoadTestGetRoomCallback(testRoomManager, roomId, tw, gotRoomsDoneCallback);
                    System.Threading.Thread.Sleep((int)(mRoomsPerSecond * 1000));
                }
            });

            bgWorker.RunWorkerAsync();
        }