Giter Site home page Giter Site logo

aeron-rs's Introduction

Aeron client written in Rust

Crates.io minimum rustc version Build Status

About aeron-rs

Aeron is efficient reliable UDP and IPC message transport. Originally it was developed by RealLogic and hosted on GitHub real-logic/aeron

Aeron has two main components:

  • Media driver
  • Client library

The client library is linked with applications and allows several applications to talk with each other through Media driver(s). For more information about how Aeron works please read documentation.

aeron-rs library implements client functionality to work with Aeron Media driver. To get functioning system one need to download (and compile) Media driver from real-logic/aeron and write some Aeron enabled application using aeron-rs. Examples of such applications could be found inside the bin and in the library integration tests.

Why Aeron?

Aeron could be a good choice if you need to organize fast and ordered message streams. There are number of widely used messaging frameworks and to choose the right one for your particular case it is better to test them if close to real-life situations and compare the performance. Just some hints why Aeron could be a good choice:

  • Supports various transmission media without the need to change application code when switching between the media. Application can use IPC (shared memory) today and could switch to UDP in a matter of config change and restart.
  • Can work over UDP which is generally faster than over TCP (as some other messaging systems do)
  • Provides reliable and ordered message flow (even over UPD). Not all fast messaging frameworks guaranty messages order but Aeron do

Running library tests

Integration tests for aeron-rs assume that Media driver executable (aeronmd) is present in the PATH. So prior to run these tests install aeronmd accordingly. Also integration tests designed to run sequentially one by one. Therefore use

cargo test -- --test-threads=1

command to run them.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.