MultiplexedSocket: consider unknown state as REFUSE
Allows to better handle new states in the future.
Change-Id: Ie8b28f9776d2c4ce8a45eb02f5af323a2ea37ffd
diff --git a/src/multiplexed_socket.cpp b/src/multiplexed_socket.cpp
index 2471256..db4b0cb 100644
--- a/src/multiplexed_socket.cpp
+++ b/src/multiplexed_socket.cpp
@@ -460,9 +460,13 @@
if (pimpl.handleProtocolMsg(object))
continue;
auto req = object.as<ChannelRequest>();
- if (req.state == ChannelRequestState::ACCEPT) {
+ if (req.state == ChannelRequestState::REQUEST) {
+ pimpl.onRequest(req.name, req.channel);
+ }
+ else if (req.state == ChannelRequestState::ACCEPT) {
pimpl.onAccept(req.name, req.channel);
- } else if (req.state == ChannelRequestState::DECLINE) {
+ } else {
+ // DECLINE or unknown
std::lock_guard<std::mutex> lkSockets(pimpl.socketsMutex);
auto channel = pimpl.sockets.find(req.channel);
if (channel != pimpl.sockets.end()) {
@@ -470,8 +474,6 @@
channel->second->stop();
pimpl.sockets.erase(channel);
}
- } else if (pimpl.onRequest_) {
- pimpl.onRequest(req.name, req.channel);
}
}
} catch (const std::exception& e) {