Hi!
I use groups to organize connections between dynamically changing number of actors. And in my case it's perfectly fine if some actor joins the group and process only a subset of all messages types that are floating in this group (i.e. actor just filters messages it wants to listen to).
Unexpected messages response behavior is controlled via `set_default_handler()` and CAF provides several builtin policies: `reflect`, `reflect_and_quit`, `print_and_drop`, `drop`, and `skip`.
Seems that my choice is either `drop` or `skip`.
1. `drop` has the drawback that it send `unexpected_message` error back to sender and by default sender will terminate after that. So, I need to additionally set custom error handler for sender that will ignore `unexpected_message` errors. That works fine, but CAF runtime have to manage absolutely useless wall of `unexpected message` errors. Am I right?
2. `skip` doesn't have that disadvantage and seems to be processed explicitly (completely omitting 'send response' stage). But! Seems that it saves skipped message in some cache (?) And this message will pop up again later?
Summarizing, what is the correct way to just completely drop/skip unexpected messages assuming that it's a perfectly valid situation by design?
Right now I decided to return `caf::none` from default handler. Is this feasible solution?