Reloaded-Project / Reloaded.Messaging

Reloaded II's extensible "event-like" solution for passing messages across a local or remote network that sits ontop of LiteNetLib.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Reloaded II: Networking Module



Assert.Equal(funnyMessage, Dio)

Introduction

Reloaded.Networking is library that adds support for simple, high performance message packing to existing networking libraries.

Specifically, it provides a minimal framework for performing the following tasks:

  • Asynchronous message processing for external networking libraries.
  • Sending/Receiving messages with (de)serialization and [optional] (de)compression.
  • Automatically dispatching messages to appropriate handlers (per message type).

It was originally created for Reloaded II, however has been extended in the hope of becoming a more general purpose library.

This library is heavily optimized for achieving high throughput for messages < 128KB.

Characteristics

  • High performance. (Memory pooling, allocation free).
  • Low networking overhead.
  • Custom serializer/compressor per class type.
  • Simple message packing/protocol.
  • 1 byte overhead for uncompressed, 5 bytes for compressed.
  • Unsafe.

Documentation

More information can be found in the dedicated documentation site.

About

Reloaded II's extensible "event-like" solution for passing messages across a local or remote network that sits ontop of LiteNetLib.

License:MIT License


Languages

Language:C# 99.9%Language:Smalltalk 0.1%