Comments (7)
I guess I should write something over proto actor messaging for myself?
I have a CurrentSynchronizationContextDispatcher
(I'm using this with WinForms :) ) I can add to extensions or something.
from protoactor-dotnet.
Proto.Actor allows POCO's to be used for messages in process. only between nodes there is the need for Protobuf.
from protoactor-dotnet.
I guess I mean, I'd like the code to enforce that messages know if there is going to be a reply or not. This way the code at compile time knows if a message should be used on Tell or Request.
It seems requiring messages to have an interface in C# is the best way to do this. I don't think it would affect protobuf though I don't know a lot about it.
from protoactor-dotnet.
I see the value in knowing whether an incoming message is expected to produce a reply or not, but I'm not sure if this is something I think Proto.Actor should be opinionated about. In a lot of applications it probably makes sense, but in some it might not. Also, whether there is going to be a reply or not it not necessarily so straight-forward, e.g. that could depend not only on the type of message, but also on which behavior the receiving actor currently has.
from protoactor-dotnet.
That sounds like a useful thing to have for people who do WinForms :D Maybe we should set up some sort of "contrib" or "extensions" section of the repo for things that are not part of the core library but still nice to have.
from protoactor-dotnet.
Forcing an interface on messages I feel could potentially make it harder to setup certain scenarios where you would end up wrapping objects in an IMessage just because you don't want to implement the IMessage interface on them.
from protoactor-dotnet.
Fair enough. I think I'll be starting an extensions library with this and some DI stuff. I can keep it separate or contribute here. I'll share when I have something going.
Thanks!
from protoactor-dotnet.
Related Issues (20)
- Bug? Same message is received over and over HOT 15
- Performance doesn't scale with more cores HOT 12
- Request order guarantee? HOT 6
- Who to create Data Flow DIagram HOT 2
- Don't log GossipTimeout if target node left the cluster HOT 1
- Log member information for gossip timeout HOT 1
- Kubernetes provider throws nullref, but recovers
- Gossip + Memberlist sync HOT 1
- Proto.Remote can go out of sync with Proto.Cluster HOT 1
- Two node seednode cluster: "Consensus not reached, Initiating rebalance" HOT 2
- Don't list blocked nodes unknown to self HOT 1
- Large cluster stability notes: HOT 2
- Gossip actor jam HOT 1
- Introduce IsStopping flag
- What is the difference between EventStream and pub-sub? HOT 2
- Remote blocking and Cluster MemberList HOT 2
- At-most-once guarantee is broken HOT 2
- Debugging documentation HOT 3
- Mocking grain client and testability HOT 2
- Is it possible for PubSub to lose messages without subscriber knowing?
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 protoactor-dotnet.