Skip to content

Commit 9c3b591

Browse files
committed
[Optimize][android][ios][common] add SetCustomWebSocketTransceiver interface to debug-router
Provide the ability to register a custom WebSocket issue: #41
1 parent bdb7c0d commit 9c3b591

File tree

6 files changed

+17
-12
lines changed

6 files changed

+17
-12
lines changed

debug_router/native/core/debug_router_core.cc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,19 @@ DebugRouterCore::DebugRouterCore()
139139
thread::DebugRouterExecutor::GetInstance().Start();
140140
}
141141

142+
void DebugRouterCore::SetCustomWebSocketTransceiver(
143+
const std::shared_ptr<MessageTransceiver> &message_transceiver) {
144+
std::lock_guard<std::mutex> lock_guard(custom_transceiver_mutex_);
145+
custom_websocket_transceiver_ = message_transceiver;
146+
}
147+
142148
void DebugRouterCore::Connect(const std::string &url, const std::string &room) {
149+
{
150+
std::lock_guard<std::mutex> lock_guard(custom_transceiver_mutex_);
151+
if (custom_websocket_transceiver_) {
152+
message_transceivers_[0] = custom_websocket_transceiver_;
153+
}
154+
}
143155
Connect(url, room, false);
144156
}
145157

debug_router/native/core/debug_router_core.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,9 @@ class DebugRouterCore : public MessageTransceiverDelegate {
8585
int AddGlobalHandler(DebugRouterGlobalHandler *handler);
8686
bool RemoveGlobalHandler(int handler_id);
8787

88+
void SetCustomWebSocketTransceiver(
89+
const std::shared_ptr<MessageTransceiver> &message_transceiver);
90+
8891
void AddMessageHandler(DebugRouterMessageHandler *handler);
8992
bool RemoveMessageHandler(const std::string &handler_name);
9093

@@ -133,6 +136,7 @@ class DebugRouterCore : public MessageTransceiverDelegate {
133136
void Reconnect();
134137
void Connect(const std::string &url, const std::string &room,
135138
bool is_reconnect);
139+
std::shared_ptr<MessageTransceiver> custom_websocket_transceiver_;
136140
std::atomic<ConnectionState> connection_state_;
137141
std::shared_ptr<MessageTransceiver> current_transceiver_;
138142
std::vector<std::shared_ptr<MessageTransceiver> > message_transceivers_;
@@ -146,6 +150,7 @@ class DebugRouterCore : public MessageTransceiverDelegate {
146150
std::string GetConnectionStateMsg(ConnectionState state);
147151
std::atomic<int32_t> usb_port_;
148152
std::atomic<int> handler_count_;
153+
std::mutex custom_transceiver_mutex_;
149154
};
150155

151156
} // namespace core

debug_router/native/core/message_transceiver.cc

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,6 @@ namespace debugrouter {
88
namespace core {
99
MessageTransceiver::MessageTransceiver() {}
1010

11-
void MessageTransceiver::HandleReceivedMessage(const std::string &message) {
12-
if (delegate_) {
13-
delegate_->OnMessage(message, shared_from_this());
14-
}
15-
}
16-
1711
void MessageTransceiver::SetDelegate(MessageTransceiverDelegate *delegate) {
1812
delegate_ = delegate;
1913
}

debug_router/native/core/message_transceiver.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ class MessageTransceiver
4040
virtual void Disconnect() = 0;
4141
virtual void Send(const std::string &data) = 0;
4242
virtual ConnectionType GetType() = 0;
43-
virtual void HandleReceivedMessage(const std::string &message);
4443
virtual void SetDelegate(MessageTransceiverDelegate *delegate);
4544
virtual MessageTransceiverDelegate *delegate();
4645

debug_router/native/net/socket_server_client.cc

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,5 @@ void SocketServerClient::Send(const std::string &data) {
8585
socket_server_->Send(data);
8686
}
8787

88-
void SocketServerClient::HandleReceivedMessage(const std::string &message) {
89-
// empty
90-
}
91-
9288
} // namespace net
9389
} // namespace debugrouter

debug_router/native/net/socket_server_client.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ class SocketServerClient : public core::MessageTransceiver {
1919
void Disconnect() override;
2020
void Send(const std::string &data) override;
2121
core::ConnectionType GetType() override;
22-
void HandleReceivedMessage(const std::string &message) override;
2322

2423
private:
2524
std::shared_ptr<debugrouter::socket_server::SocketServer> socket_server_;

0 commit comments

Comments
 (0)