Pipelines.Sockets.Unofficial
Pipelines.Sockets.Unofficial copied to clipboard
.NET managed sockets wrapper using the new "Pipelines" API
Pipelines.Sockets.Unofficial
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 Channels -
System.IO.Pipelines
- the "corefx" version of the above -
Kestrel.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 pipe -
StreamConnection
- 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.