private byte[] HandlePacket_RemoveElements(byte[] RequestContent)
		{
			var RequestContentStream = new MemoryStream(RequestContent);
			var RequestHeader = RequestContentStream.ReadStruct<RequestHeaderStruct>();

			{
				var RequestEntries = RequestContentStream.ReadStructVectorUntilTheEndOfStream<RequestEntryStruct>();
				var Index = ServerManager.ServerIndices[RequestHeader.RankingIndexId];
				foreach (var RequestEntry in RequestEntries)
				{
					Index.Tree.Remove(Index.GetUserScore(RequestEntry.UserId));
				}
			}

			return new byte[0];
		}
        async private Task<byte[]> HandlePacketAsync_RemoveElements(byte[] RequestContent)
        {
            var RequestContentStream = new MemoryStream(RequestContent);
            var RequestHeader = RequestContentStream.ReadStruct<RequestHeaderStruct>();

            await EnqueueTaskAsync((uint)RequestHeader.RankingIndexId, () =>
            {
                var RequestEntries = RequestContentStream.ReadStructVectorUntilTheEndOfStream<RequestEntryStruct>();
                var Index = ServerManager.ServerIndices[RequestHeader.RankingIndexId];
                foreach (var RequestEntry in RequestEntries)
                {
                    Index.Tree.Remove(Index.GetUserScore(RequestEntry.UserId));
                }
            });
            
            return new byte[0];
        }
		private byte[] HandlePacket_SetElements(byte[] RequestContent)
		{
			var RequestContentStream = new MemoryStream(RequestContent);

			var RequestHeader = RequestContentStream.ReadStruct<SetElements_RequestHeaderStruct>();
			var RequestEntries = RequestContentStream.ReadStructVectorUntilTheEndOfStream<SetElements_RequestEntryStruct>();

			{
				var Index = ServerManager.ServerIndices[RequestHeader.RankingId];

				foreach (var Request in RequestEntries)
				{
					Index.UpdateUserScore(
						UserId: Request.UserId,
						ScoreTimeStamp: Request.ScoreTimeStamp,
						ScoreValue: Request.ScoreValue
					);
				}
			}

			return new byte[0];
		}