GitHub user numinnex added a comment to the discussion: Simulator "Kill Node" Operation - Design Discussion
I agree with the idea of using message bus as just outbox (this makes sense from the point of view how a real TCP based MessageBus actually works) and simulating it this way is definitely the way to go. The thing that I am puzzled about is how to do it in a way where we can use exactly the same primitive `IggyShard` both by the simulator, aswell as the production binary. In the production binary we have bunch of listeners (tcp_listener, websocket listener, quic listner), that spawn dedicated `compio` task for each connection that busy loops waiting for incomming packets and turning those into messages. In the simulator tho, we would like the simulator step function to replace the functionality of those listeners. I guess one approach that we could take is simply disabling those `listeners` in the simulator (similarly how we do it right now, we use the config to check whether we want to expose `tcp`, `websocket`, `quic` and `http` listeners, then in the `simulator` binary we would have an explicit `step` function that would play the role of those `listeners`, by draining the message_bus outbox. GitHub link: https://github.com/apache/iggy/discussions/3017#discussioncomment-16297402 ---- This is an automatically sent email for [email protected]. To unsubscribe, please send an email to: [email protected]
