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

helios-io/helios

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Aug 17, 2016
5313bc4 · Aug 17, 2016
May 4, 2016
Aug 17, 2016
Jul 14, 2016
Aug 17, 2016
Aug 17, 2016
May 4, 2016
Nov 22, 2013
Apr 12, 2016
Mar 14, 2015
May 3, 2016
May 4, 2016
Feb 28, 2016
Aug 17, 2016
May 4, 2016
Aug 22, 2014
Aug 17, 2016
Aug 17, 2016
Aug 17, 2016

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.