44from .message_type import RelayMessageType
55from .event import Event
66
7+
78class EventMessage :
89 def __init__ (self , event : Event , subscription_id : str , url : str ) -> None :
910 self .event = event
1011 self .subscription_id = subscription_id
1112 self .url = url
1213
14+
1315class NoticeMessage :
1416 def __init__ (self , content : str , url : str ) -> None :
1517 self .content = content
1618 self .url = url
1719
20+
1821class EndOfStoredEventsMessage :
1922 def __init__ (self , subscription_id : str , url : str ) -> None :
2023 self .subscription_id = subscription_id
2124 self .url = url
2225
26+
2327class MessagePool :
2428 def __init__ (self ) -> None :
2529 self .events : Queue [EventMessage ] = Queue ()
2630 self .notices : Queue [NoticeMessage ] = Queue ()
2731 self .eose_notices : Queue [EndOfStoredEventsMessage ] = Queue ()
2832 self ._unique_events : set = set ()
2933 self .lock : Lock = Lock ()
30-
34+
3135 def add_message (self , message : str , url : str ):
3236 self ._process_message (message , url )
3337
@@ -55,7 +59,14 @@ def _process_message(self, message: str, url: str):
5559 if message_type == RelayMessageType .EVENT :
5660 subscription_id = message_json [1 ]
5761 e = message_json [2 ]
58- event = Event (e ['pubkey' ], e ['content' ], e ['created_at' ], e ['kind' ], e ['tags' ], e ['id' ], e ['sig' ])
62+ event = Event (
63+ e ["content" ],
64+ e ["pubkey" ],
65+ e ["created_at" ],
66+ e ["kind" ],
67+ e ["tags" ],
68+ e ["sig" ],
69+ )
5970 with self .lock :
6071 if not event .id in self ._unique_events :
6172 self .events .put (EventMessage (event , subscription_id , url ))
@@ -64,5 +75,3 @@ def _process_message(self, message: str, url: str):
6475 self .notices .put (NoticeMessage (message_json [1 ], url ))
6576 elif message_type == RelayMessageType .END_OF_STORED_EVENTS :
6677 self .eose_notices .put (EndOfStoredEventsMessage (message_json [1 ], url ))
67-
68-
0 commit comments