20 lines
593 B
Python
20 lines
593 B
Python
import dataclasses
|
|
from datetime import datetime
|
|
from typing import Optional
|
|
|
|
|
|
@dataclasses.dataclass
|
|
class Peer:
|
|
# is the peer a master
|
|
master: bool = dataclasses.field()
|
|
|
|
# public asymmetric key
|
|
public_key: bytes = dataclasses.field(repr=False)
|
|
# secret symmetric key
|
|
secret_key: Optional[bytes] = dataclasses.field(default=None, repr=False)
|
|
|
|
# is the machine trusted
|
|
trusted: bool = dataclasses.field(default=False)
|
|
|
|
# when did the peer last communication with us occurred
|
|
last_interaction: datetime = dataclasses.field(default_factory=datetime.now)
|