All Projects → danielcrenna → reactive-pipes

danielcrenna / reactive-pipes

Licence: other
A thin library around Reactive Extensions to simplify writing evented applications in C#.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to reactive-pipes

Foundatio
Pluggable foundation blocks for building distributed apps.
Stars: ✭ 1,365 (+11275%)
Mutual labels:  distributed-systems, message-bus
Reactivemanifesto
The Reactive Manifesto
Stars: ✭ 542 (+4416.67%)
Mutual labels:  distributed-systems, reactive-programming
Scalecube Cluster
ScaleCube Cluster is a lightweight Java VM implementation of SWIM: Scalable Weakly-consistent Infection-style Process Group Membership Protocol. features cluster membership, failure detection, and gossip protocol library.
Stars: ✭ 119 (+891.67%)
Mutual labels:  distributed-systems, reactive-programming
Nats Server
High-Performance server for NATS.io, the cloud and edge native messaging system.
Stars: ✭ 10,223 (+85091.67%)
Mutual labels:  distributed-systems, message-bus
reacted
Actor based reactive java framework for microservices in local and distributed environment
Stars: ✭ 17 (+41.67%)
Mutual labels:  distributed-systems, reactive-programming
ex united
Easily spawn Elixir nodes (supervising, Mix configured, easy asserted / refuted) within ExUnit tests
Stars: ✭ 40 (+233.33%)
Mutual labels:  distributed-systems
privacy-preserving-primitives
primitives and protocols for implementing privacy preserving networks
Stars: ✭ 14 (+16.67%)
Mutual labels:  distributed-systems
foremast-brain
Foremast-brain is a component of Foremast project.
Stars: ✭ 17 (+41.67%)
Mutual labels:  distributed-systems
django-celery-fulldbresult
Django Celery DB Backend that keeps enough info to retry a task.
Stars: ✭ 37 (+208.33%)
Mutual labels:  distributed-systems
Knowledge-Discovery-Agents
A Goal-Oriented Approach to Knowledge Discovery in Multi-Agent Systems
Stars: ✭ 38 (+216.67%)
Mutual labels:  distributed-systems
wobbuffetch
Reactive wrapper for Fetch API
Stars: ✭ 28 (+133.33%)
Mutual labels:  reactive-programming
chapar
A framework for verification of causal consistency for distributed key-value stores and their clients in Coq [maintainer=@palmskog]
Stars: ✭ 29 (+141.67%)
Mutual labels:  distributed-systems
Distributed-System-Algorithms-Implementation
Algorithms for implementation of Clock Synchronization, Consistency, Mutual Exclusion, Leader Election
Stars: ✭ 39 (+225%)
Mutual labels:  distributed-systems
Layr
A decentralized (p2p) file storage system built atop Kademlia DHT that enforces data integrity, privacy, and availability through sharding, proofs of retrievability, redundancy, and encryption, with smart-contract powered incentive scheme
Stars: ✭ 90 (+650%)
Mutual labels:  distributed-systems
queueable
Convert streams to async ⌛ iterables ➰
Stars: ✭ 43 (+258.33%)
Mutual labels:  reactive-programming
scalajs-all-in-one-template
The All-in-One Scala.js static web project template
Stars: ✭ 47 (+291.67%)
Mutual labels:  reactive-programming
hlclock
Hybrid Logical Clocks for Elixir
Stars: ✭ 46 (+283.33%)
Mutual labels:  distributed-systems
epaxos
A pluggable implementation of the Egalitarian Paxos Consensus Protocol
Stars: ✭ 39 (+225%)
Mutual labels:  distributed-systems
open-box
Generalized and Efficient Blackbox Optimization System [SIGKDD'21].
Stars: ✭ 174 (+1350%)
Mutual labels:  distributed-systems
realtimemap-dotnet
A showcase for Proto.Actor - an ultra-fast distributed actors solution for Go, C#, and Java/Kotlin.
Stars: ✭ 47 (+291.67%)
Mutual labels:  distributed-systems

FOSSA Status

reactive.pipes

> Install-Package reactive.pipes

Reactive Pipes is a lightweight eventing middleware library for distributed applications.

It gives you high performing, non-blocking and parallelized eventing. You build other components out of it.

Why would I use this?

  • You're building a real-time system and want to notify your hub as things occur
  • You want to synchronize activity between various application components at the event level
  • You want to use the "shared nothing" integration pattern
  • You want to transform events into one or more materialized views for queries, etc. (event sourcing)
  • You want to produce version-safe events on a schedule, without requiring additional infrastructure

Usage


This library provides a foundation for distributed middleware on three levels: pipes, protocols, and event dispatch. It provides most of what you need to handle concurrency and synchronization of arbitrary producers and consumers. Here is a simple example using two built-in components.

var block = new ManualResetEvent(false);

var producer = new ObservingProducer<int>();
var consumer = new DelegatingConsumer<int>(i => Console.WriteLine(i));

producer.Produces(Observable.Range(1, 10000), onCompleted: () => block.Set());
producer.Attach(consumer);
producer.Start();

block.WaitOne();

Addendum

  • Custom task schedulers in the Schedulers folder are provided for convenience and Copyright (c) Microsoft Corporation.
  • This is a streamlined version of copper, a library I wrote in 2012.
  • This library also subsumes the linger library for delayed message production on a schedule.

License

FOSSA Status

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].