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)
- SeedNode provider conceptually broken HOT 5
- RequestAsync method doesn't work in client mode
- ETCD provider HOT 6
- Introduce message priority for Remote layer HOT 2
- Dedicated thread dispatcher for some system actors
- 1.5.0 cluster seems broken? HOT 1
- SeedNodeClusterProvider: Consensus not reached, Initiating rebalance [1.5.0] HOT 2
- ProtoGenTask fails when UseArtifactsOutput = true is active
- Subscribe to EventStream with Channel HOT 6
- Road to "V2" HOT 2
- Proto Cluster with Consul shows connection errors HOT 5
- DefaultMailbox size constantly increasing HOT 4
- Memory leak in ServerEndpoint channels HOT 2
- Cluster pub-sub resubscription and event sourcing streaming HOT 8
- Pub-Sub tries to deserialize messages from not subscribed topic HOT 2
- Graceful shutdown is not graceful HOT 6
- Issue with Azure Container Apps. CONTAINER_APP_REPLICA_NAME does not exist
- Timeout setting gossip state to GracefullyLeft causes graceful shutdown to never finish
- The framework is too complex HOT 1
- Timeout in GossipReenterAfterSend HOT 8
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.