Overwatch/overwatch-rs
Giacomo Pasini 4efc467d84
Relax type bounds (#17)
* relax type bounds

* remove Send bound on NoOperator

* fix tests

* remove bound on service message

* re-add type bound on Relay

* remove duplicate PhantomBound
2023-01-17 14:45:22 +01:00
..
2023-01-17 14:45:22 +01:00
2022-12-14 15:41:01 +01:00
2022-11-16 14:15:58 +01:00
2022-11-16 14:15:58 +01:00

Overwatch

github crates.io docs.rs build status

Overwatch is a framework to easily construct applications that requires of several independent parts that needs communication between them. Everything is self-contained, and it matches somewhat the advantages of microservices.

Design Goals

  • Modularity:

    • Components should be self-contained (as possible)
    • Communication relations between components should be specifically defined
    • Components should be mockable. This is rather important for measurements and testing.
  • Single responsibility:

    • It is easier to isolate problems
    • Minimal sharing when unavoidable
  • Debuggeability

    • Easy to track workflow
    • Easy to test
    • Easy to measure
    • Asynchronous Communication