This commit is contained in:
2025-09-30 14:15:21 +05:30
parent 0a146c2169
commit c21ec7ba42
8 changed files with 326 additions and 1160 deletions
+13 -47
View File
@@ -32,51 +32,15 @@
# To make sibling directories accessible for imports:
import sys
sys.path.append("../wsio")
sys.path.append(".")
sys.path.append("..")
# System-level activities:
import io
import os
import random
# My utils:
from utils_v2.string import json
from utils_v2.string import regex
from utils_v2.system import files
from utils_v2.date_time import date_time
from utils_v2.database.async_mongo_v2 import AsyncMongo
from utils_v2.queue.kafka.controllers.async_kafka import ConsumerKafka, get_ssl_context
from utils_v2.cache.async_redis_cache_v3 import AsyncRedisCache
from utils_v2.serialization.json_serializer import JSONSerializer
# To make HTTP calls:
import httpx
# To work with date and time:
import datetime
import time
# Models:
from models.core.user import CoreUserInfoModel
from models.finstitutions.trading.ticks import TradingTick
# To work with SocketIO:
import socket
import socketio
# To maintain the app's state:
from wsio_v2.app_state import AppState
# For asynchronous activities:
import asyncio
# To work with various datatypes:
from typing import List
# Debugging:
from icecream import IceCreamDebugger
# *****************************************************************************************************************
# ***** ****
@@ -105,24 +69,26 @@ from icecream import IceCreamDebugger
# *****************************************************************************************************************
class TestNamespace(socketio.AsyncNamespace):
class EchoNamespace(socketio.AsyncNamespace):
# Internal variables:
app_state: AppState = None
def __init__(self, namespace):
def __init__(
self,
namespace: str,
app_state: AppState,
):
super().__init__(namespace)
print("Test Namespace Init")
self.app_state = app_state
self.app_state.printer("Registered!")
async def on_connect(self, sid, environ, *args):
print(f"ON CONNECT TEST — SID: {sid}")
self.app_state.printer("On Connect", sid)
async def on_disconnect(self, sid, reason, *args):
print(f"ON DISCONNECT TEST — SID: {sid}")
self.app_state.printer("On Disconnect", sid)
async def on_echo(self, sid, data):
print(f"Received echo from {sid}: {data}")
await self.emit("echo", data, to=sid)
self.app_state.printer("Event", sid, data, type(data).__name__)
await self.emit("echo", data, to = sid)
# *****************************************************************************************************************