|
@@ -65,10 +65,20 @@ public:
|
|
|
virtual bool send(message_ptr message) { return outgoing(message); }
|
|
|
|
|
|
protected:
|
|
|
- void recv(message_ptr message) { mRecvCallback(message); }
|
|
|
+ void recv(message_ptr message) {
|
|
|
+ try {
|
|
|
+ mRecvCallback(message);
|
|
|
+ } catch (const std::exception &e) {
|
|
|
+ PLOG_WARNING << e.what();
|
|
|
+ }
|
|
|
+ }
|
|
|
void changeState(State state) {
|
|
|
- if (mState.exchange(state) != state)
|
|
|
- mStateChangeCallback(state);
|
|
|
+ try {
|
|
|
+ if (mState.exchange(state) != state)
|
|
|
+ mStateChangeCallback(state);
|
|
|
+ } catch (const std::exception &e) {
|
|
|
+ PLOG_WARNING << e.what();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
virtual void incoming(message_ptr message) { recv(message); }
|