D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
imunify360
/
venv
/
lib
/
python3.11
/
site-packages
/
im360
/
plugins
/
Filename :
repeater.py
back
Copy
import asyncio from logging import getLogger from defence360agent.contracts.config import UserConfig from defence360agent.contracts.messages import MessageType from defence360agent.contracts.plugins import MessageSink, expect from im360.simple_rpc.resident_socket import send_to_socket logger = getLogger(__name__) class Repeater(MessageSink): async def create_sink(self, loop): self._loop = loop @expect(MessageType.FilesUpdated) async def resend_to_generic_socket(self, msg): asyncio.create_task( send_to_socket( msg={ "method": "FILES_UPDATE", "files_type": msg["files_type"], }, wait_for_response=False, ) ) @expect(MessageType.ConfigUpdate) async def resend_config_update_to_generic_socket(self, msg): if isinstance(msg["conf"], UserConfig): return # do nothing for non-root config updates asyncio.create_task( send_to_socket( msg={ "method": "UPDATE_RULES", }, wait_for_response=False, ) )