Added libs
This commit is contained in:
57
noSys/noSysModuleServer.py
Normal file
57
noSys/noSysModuleServer.py
Normal file
@@ -0,0 +1,57 @@
|
||||
from .noSysModule import NoSysModule
|
||||
from .events import Events
|
||||
from .peers import Peer
|
||||
from libs.fspn.protocol.server import Server
|
||||
from libs.fspn.protocol.connection import Connection
|
||||
|
||||
class NoSysModuleServer(NoSysModule, Server):
|
||||
def __init__(self, nosys_core):
|
||||
NoSysModule.__init__(self, nosys_core)
|
||||
Server.__init__(self)
|
||||
|
||||
self.host = "0.0.0.0"
|
||||
self.port = 0
|
||||
|
||||
self.clients : dict[str, Peer] = {}
|
||||
|
||||
def setup(self):
|
||||
self.nosys_core.subscribe_event(Events.PEER_CONNECTED, self._on_peer_connected)
|
||||
self.nosys_core.subscribe_event(Events.PEER_DISCONNECTED, self._on_peer_disconnected)
|
||||
|
||||
def run_server(self, user_id):
|
||||
self.nosys_core.servers.run_server(self, user_id, (self.host, self.port))
|
||||
|
||||
def on_server_connection(self, event):
|
||||
print("CONNECTION RAW")
|
||||
connection: Connection = event.source
|
||||
peer = Peer(connection.id, connection)
|
||||
self.nosys_core.peers.add_peer(peer)
|
||||
self.clients[peer.id] = peer
|
||||
self.nosys_core.connections._on_connection(event)
|
||||
|
||||
def on_server_disconnection(self, event):
|
||||
print("DISCONNECTION RAW")
|
||||
self.nosys_core.connections._on_disconnection(event)
|
||||
|
||||
def on_server_message(self, event):
|
||||
print("MESSAGE RAW")
|
||||
self.nosys_core.dispatcher.on_message(event)
|
||||
|
||||
def _on_peer_connected(self, event):
|
||||
peer:Peer = event.peer
|
||||
print(peer.id, self.clients)
|
||||
if peer.id in self.clients:
|
||||
print("PEER CONNECTED")
|
||||
self.on_connection(peer)
|
||||
|
||||
def _on_peer_disconnected(self, event):
|
||||
peer:Peer = event.peer
|
||||
if peer.id in self.clients:
|
||||
print("PEER DISCONNECTED")
|
||||
self.on_disconnection(peer)
|
||||
|
||||
def on_connection(self, peer:Peer):
|
||||
pass
|
||||
|
||||
def on_disconnection(self, peer:Peer):
|
||||
pass
|
||||
Reference in New Issue
Block a user