M2-PT-DRP/source/behaviors/events/base/BaseTrustedEvent.py

18 lines
570 B
Python

import abc
from source import packets
from source.behaviors.events.base import BaseEvent
from source.error import UntrustedPeerException
class BaseTrustedEvent(BaseEvent, abc.ABC):
"""
Event that can only be triggered if the distant peer is trusted
"""
def handle(self, packet: packets.base.BasePacket, address: tuple) -> None:
# get the peer that sent the message
peer = self.manager.peer.peers.get(address)
# check if it is trusted
if peer is None or not peer.trusted:
raise UntrustedPeerException(peer)