Comments (1)
Ok I've been thinking a little bit more about this, so I'm gonna share some thoughts in case it helps in moving forward.
What I'd like the most, I think, is to have a simple unified API, with a few interrelated traits, at least one for each type at each side of one bridge, maybe one for the message type that comes through. The core issue may very well be reduced to: Messages comming from one stakker system must be dealt with by another stakker system, back and forth. The rest would be implementation details. What are the guarantees stakker wants to give and what's the minimum stakker needs to ask from the implementor? That's what needs to be clarified in the API I believe.
Also a few basic implementations should be offered, one for inter-thread communication between stakker instances, and maybe one for same-thread communication that could be handy as a base reference for benchmarks. More complex implementations could be added, and custom ones.
I also think theres gonna be a need for an error type. At the very least the api method for referring messages should return a Result with an error that probably should be as generic as possible.
In the case of stakker maybe it's worth considering creating a crate level non_exhaustive enum that includes the inter-stakker communication errors of its concrete implementations?
from stakker.
Related Issues (20)
- Macro to support `Actor<Box<dyn Trait>>` based actor creation HOT 1
- ActorOwnAnon type HOT 1
- Actor coroutines
- Consider small-Ret optimisation to avoid allocation
- Are there any benchmarks? HOT 1
- Real-world benchmarks
- Link the docs website from somewhere HOT 1
- Feature request: elapsed and/or simulation start time HOT 3
- Timer queue and time/duration overhaul
- `stakker_macros` linked from website doesn't exist HOT 3
- Can not initialise actor using fully qualified init method HOT 2
- Allow returning `Self` instead of `Option<Self>` for Prep methods that always go to Ready
- Clarify timer contract
- Glommio: Consider writing interface code to run on top of it
- More beginner friendly tutorial? HOT 6
- Pass long path name to macro HOT 2
- ret_some_do! updating variables issue HOT 7
- An Actor implementing multiple traits? HOT 7
- Look into a no_std variant of stakker
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stakker.