Streaming
EVOID supports streaming through adapters. The WebSocket adapter converts bidirectional messages to Intents.
WebSocket Adapter
from evoid.adapters.websocket import WebSocketAdapter
adapter = WebSocketAdapter()
Each WebSocket message becomes an Intent that flows through the pipeline. Responses are sent back to the client.
Streaming HTTP Responses
For server-sent events or chunked responses, return an async generator from your handler:
@get("/stream")
async def stream_data(ctx):
for chunk in read_large_file():
yield chunk
The ASGI adapter detects the generator and streams the response.
Game State Sync
The Godot adapter uses streaming for real-time game state. The evoid-transport plugin provides low-latency UDP streaming:
from evoid_transport import EvoidUDPPort
transport = EvoidUDPPort()
await transport.broadcast_state_sync(game_state, tick=60)
Related
- Adapters: how adapters handle different transports
- Real-time Updates: tutorial example