Skip to content
This repository has been archived by the owner on Nov 30, 2023. It is now read-only.

helios-io/helios

Repository files navigation

helios

NOTICE: Helios is being deprecated and is no longer under active development. We've since joined up with the Azure group at Microsoft and are working with them on DotNetty, another reactive socket-server implementation for .NET. Please use that going forward.

Join the chat at https://gitter.im/helios-io/helios

Helios is concurrency and networking middleware for .NET - think of it as a loose C# port of Java's wildly influential Netty library. Helios offers .NET developers the ability to develop high-performance networked applications on top of TCP and UDP sockets combined with powerful stream-management, event brokering, and concurrency capabilities.

Helios is currently used to power all of the network operations inside Akka.NET.

Features

Helios has a combination of features that were all chosen for their practical value inside networked and event-driven applications:

  1. TCP and UDP reactor servers, designed for high-performance socket-servers in .NET
  2. TCP and UDP clients.
  3. Network message encoders and decoders.
  4. Fibers and Event Loops, for easily pushing events and delegates onto dedicated thread-pools.
  5. ByteBuffers and tools for simplifying buffer management.
  6. Event Brokers and subscription management.
  7. Custom IEnumerable implementations, such as the ICircularBuffer.
  8. And lots of other utilities, such as NullGuard and AtomicReference.

License

See LICENSE for details.

Contributing

Helios happily accepts pull requests - please use concise, clear commit messages and reference Issue numbers in your pull requests if appropriate.