18 lines
570 B
Python
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)
|