1.9 KiB
1.9 KiB
InMemory Transport Plugin
Module
Router
Status
IMPLEMENTED
Description
In-process transport using System.Threading.Channels for development and testing. Implements InMemoryTransportServer, InMemoryTransportClient, InMemoryConnectionRegistry, and InMemoryChannel with zero-copy semantics.
Implementation Details
- Modules:
src/Router/__Libraries/StellaOps.Router.Transport.InMemory/ - Key Classes:
InMemoryTransportPlugin(src/Router/__Libraries/StellaOps.Router.Transport.InMemory/InMemoryTransportPlugin.cs) - plugin registration for in-memory transportInMemoryTransportServer(src/Router/__Libraries/StellaOps.Router.Transport.InMemory/InMemoryTransportServer.cs) - in-process transport server using System.Threading.ChannelsInMemoryTransportClient(src/Router/__Libraries/StellaOps.Router.Transport.InMemory/InMemoryTransportClient.cs) - in-process transport client with zero-copy semanticsInMemoryConnectionRegistry(src/Router/__Libraries/StellaOps.Router.Transport.InMemory/InMemoryConnectionRegistry.cs) - tracks in-memory connections between server and clientsInMemoryChannel(src/Router/__Libraries/StellaOps.Router.Transport.InMemory/InMemoryChannel.cs) - channel-based communication pipe
- Interfaces:
IRouterTransportPlugin,ITransportServer,ITransportClient,IMicroserviceTransport - Source: batch_51/file_17.md
E2E Test Plan
- Register
InMemoryTransportPluginand verify a gateway and microservice can communicate in-process - Send a request through
InMemoryTransportClientand verifyInMemoryTransportServerreceives and processes it - Verify zero-copy semantics: confirm no additional memory allocations for frame payload transfer
- Verify
InMemoryConnectionRegistrytracks active connections - Verify concurrent request handling: send multiple requests in parallel and confirm all complete