2
0
mirror of https://github.com/pyrogram/pyrogram synced 2025-08-29 21:38:04 +00:00

Add SeqNo lock

This commit is contained in:
Dan 2018-02-13 14:00:03 +01:00
parent 560991498d
commit aca6fa390e

View File

@ -16,15 +16,19 @@
# You should have received a copy of the GNU Lesser General Public License # You should have received a copy of the GNU Lesser General Public License
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>. # along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.
from threading import Lock
class SeqNo: class SeqNo:
def __init__(self): def __init__(self):
self.content_related_messages_sent = 0 self.content_related_messages_sent = 0
self.lock = Lock()
def __call__(self, is_content_related: bool) -> int: def __call__(self, is_content_related: bool) -> int:
seq_no = (self.content_related_messages_sent * 2) + (1 if is_content_related else 0) with self.lock:
seq_no = (self.content_related_messages_sent * 2) + (1 if is_content_related else 0)
if is_content_related: if is_content_related:
self.content_related_messages_sent += 1 self.content_related_messages_sent += 1
return seq_no return seq_no