In the current implementation, if the user protocol handle panic, the entire service assumes that there is no such protocol and then works "normally".
In the previous version which has a single point performance bottleneck, the user protocol handle panic will shutdown the entire service. But lost this logic in the process of refactoring.
Pretending that the service is "normal" is not a good way to handle it. It makes it difficult for users to find problems with the protocol they are implementing, so I decided to roll back this operation.
In the current implementation, if the user protocol handle panic, the entire service assumes that there is no such protocol and then works "normally".
In the previous version which has a single point performance bottleneck, the user protocol handle panic will shutdown the entire service. But lost this logic in the process of refactoring.
Pretending that the service is "normal" is not a good way to handle it. It makes it difficult for users to find problems with the protocol they are implementing, so I decided to roll back this operation.