cengal.io.asock_io.versions.v_0.recv_buff_size_computer.recv_buff_size_computer__python
Module Docstring Docstrings: http://www.python.org/dev/peps/pep-0257/
1#!/usr/bin/env python 2# coding=utf-8 3 4# Copyright © 2012-2024 ButenkoMS. All rights reserved. Contacts: <gtalk@butenkoms.space> 5# 6# Licensed under the Apache License, Version 2.0 (the "License"); 7# you may not use this file except in compliance with the License. 8# You may obtain a copy of the License at 9# 10# http://www.apache.org/licenses/LICENSE-2.0 11# 12# Unless required by applicable law or agreed to in writing, software 13# distributed under the License is distributed on an "AS IS" BASIS, 14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15# See the License for the specific language governing permissions and 16# limitations under the License. 17 18 19""" 20Module Docstring 21Docstrings: http://www.python.org/dev/peps/pep-0257/ 22""" 23 24 25__author__ = "ButenkoMS <gtalk@butenkoms.space>" 26__copyright__ = "Copyright © 2012-2024 ButenkoMS. All rights reserved. Contacts: <gtalk@butenkoms.space>" 27__credits__ = ["ButenkoMS <gtalk@butenkoms.space>", ] 28__license__ = "Apache License, Version 2.0" 29__version__ = "4.4.1" 30__maintainer__ = "ButenkoMS <gtalk@butenkoms.space>" 31__email__ = "gtalk@butenkoms.space" 32# __status__ = "Prototype" 33__status__ = "Development" 34# __status__ = "Production" 35 36 37 38 39__author__ = 'ButenkoMS <gtalk@butenkoms.space>' 40 41 42class RecvBuffSizeComputer: 43 def __init__(self): 44 self._min_recv_buff_size = 1024 45 self._max_recv_buff_size = 1024 * 1024 * 10 46 self.recv_buff_size = self._min_recv_buff_size 47 self._last_recv_amount = 0 48 self._previous_recv_amount = 0 49 50 def calc_new_recv_buff_size(self, last_recv_amount): 51 biggest_recv_amount = 0 52 new_amount = 0 53 54 # moving resv amounts on list 55 self._previous_recv_amount = self._last_recv_amount 56 self._last_recv_amount = last_recv_amount 57 58 new_amount = self.recv_buff_size 59 if (self._last_recv_amount >= self.recv_buff_size) \ 60 and (self._previous_recv_amount >= self.recv_buff_size): 61 new_amount = self.recv_buff_size << 2 62 elif (self._last_recv_amount >= self.recv_buff_size) \ 63 and (self._previous_recv_amount < self.recv_buff_size): 64 new_amount = self.recv_buff_size << 1 65 elif (self._last_recv_amount < self.recv_buff_size) \ 66 and (self._previous_recv_amount >= self.recv_buff_size): 67 new_amount = self.recv_buff_size 68 elif (self._last_recv_amount < self.recv_buff_size) \ 69 and (self._previous_recv_amount < self.recv_buff_size): 70 # new_amount = max(self._last_recv_amounts_list) * 1.5 71 if self._last_recv_amount > self._previous_recv_amount: 72 biggest_recv_amount = self._last_recv_amount 73 else: 74 biggest_recv_amount = self._previous_recv_amount 75 new_amount = biggest_recv_amount + (biggest_recv_amount >> 1) 76 77 if new_amount < self._min_recv_buff_size: 78 self.recv_buff_size = self._min_recv_buff_size 79 elif new_amount > self._max_recv_buff_size: 80 self.recv_buff_size = self._max_recv_buff_size 81 else: 82 self.recv_buff_size = new_amount 83 84 return self.recv_buff_size
class
RecvBuffSizeComputer:
43class RecvBuffSizeComputer: 44 def __init__(self): 45 self._min_recv_buff_size = 1024 46 self._max_recv_buff_size = 1024 * 1024 * 10 47 self.recv_buff_size = self._min_recv_buff_size 48 self._last_recv_amount = 0 49 self._previous_recv_amount = 0 50 51 def calc_new_recv_buff_size(self, last_recv_amount): 52 biggest_recv_amount = 0 53 new_amount = 0 54 55 # moving resv amounts on list 56 self._previous_recv_amount = self._last_recv_amount 57 self._last_recv_amount = last_recv_amount 58 59 new_amount = self.recv_buff_size 60 if (self._last_recv_amount >= self.recv_buff_size) \ 61 and (self._previous_recv_amount >= self.recv_buff_size): 62 new_amount = self.recv_buff_size << 2 63 elif (self._last_recv_amount >= self.recv_buff_size) \ 64 and (self._previous_recv_amount < self.recv_buff_size): 65 new_amount = self.recv_buff_size << 1 66 elif (self._last_recv_amount < self.recv_buff_size) \ 67 and (self._previous_recv_amount >= self.recv_buff_size): 68 new_amount = self.recv_buff_size 69 elif (self._last_recv_amount < self.recv_buff_size) \ 70 and (self._previous_recv_amount < self.recv_buff_size): 71 # new_amount = max(self._last_recv_amounts_list) * 1.5 72 if self._last_recv_amount > self._previous_recv_amount: 73 biggest_recv_amount = self._last_recv_amount 74 else: 75 biggest_recv_amount = self._previous_recv_amount 76 new_amount = biggest_recv_amount + (biggest_recv_amount >> 1) 77 78 if new_amount < self._min_recv_buff_size: 79 self.recv_buff_size = self._min_recv_buff_size 80 elif new_amount > self._max_recv_buff_size: 81 self.recv_buff_size = self._max_recv_buff_size 82 else: 83 self.recv_buff_size = new_amount 84 85 return self.recv_buff_size
def
calc_new_recv_buff_size(self, last_recv_amount):
51 def calc_new_recv_buff_size(self, last_recv_amount): 52 biggest_recv_amount = 0 53 new_amount = 0 54 55 # moving resv amounts on list 56 self._previous_recv_amount = self._last_recv_amount 57 self._last_recv_amount = last_recv_amount 58 59 new_amount = self.recv_buff_size 60 if (self._last_recv_amount >= self.recv_buff_size) \ 61 and (self._previous_recv_amount >= self.recv_buff_size): 62 new_amount = self.recv_buff_size << 2 63 elif (self._last_recv_amount >= self.recv_buff_size) \ 64 and (self._previous_recv_amount < self.recv_buff_size): 65 new_amount = self.recv_buff_size << 1 66 elif (self._last_recv_amount < self.recv_buff_size) \ 67 and (self._previous_recv_amount >= self.recv_buff_size): 68 new_amount = self.recv_buff_size 69 elif (self._last_recv_amount < self.recv_buff_size) \ 70 and (self._previous_recv_amount < self.recv_buff_size): 71 # new_amount = max(self._last_recv_amounts_list) * 1.5 72 if self._last_recv_amount > self._previous_recv_amount: 73 biggest_recv_amount = self._last_recv_amount 74 else: 75 biggest_recv_amount = self._previous_recv_amount 76 new_amount = biggest_recv_amount + (biggest_recv_amount >> 1) 77 78 if new_amount < self._min_recv_buff_size: 79 self.recv_buff_size = self._min_recv_buff_size 80 elif new_amount > self._max_recv_buff_size: 81 self.recv_buff_size = self._max_recv_buff_size 82 else: 83 self.recv_buff_size = new_amount 84 85 return self.recv_buff_size