This is a managed sockets connector for the System.IO.Pipelines
API, intended to act as a stop-gap while there is
no official such connector. Pipelines are pretty useless if you can't actually connect them to anything...
It draws inspiration from:
Channels.Networking.Sockets
- the original "managed sockets" provider I wrote back when Pipelines were ChannelsSystem.IO.Pipelines
- the "corefx" version of the aboveKestrel.Transport.Sockets
- purely server-side connector used for ASP.NET Core, using pieces of the above
and aims to provide a high-performance implementation of the IDuplexPipe
interface, providing both client and server APIs. At the moment the API is very preliminary.
Key APIs:
SocketConnection
- interacting with aSocket
as a pipeStreamConnection
- interacting with aStream
as a pipe, or a pipe as aStream
Arena
/Arena<T>
/Sequence<T>
/Reference<T>
- arena allocation APIs
It is provided under the MIT license.