diff --git a/include/rtc/datachannel.hpp b/include/rtc/datachannel.hpp index c2efe0d..4ddb971 100644 --- a/include/rtc/datachannel.hpp +++ b/include/rtc/datachannel.hpp @@ -66,7 +66,7 @@ public: private: void remoteClose(); void open(std::shared_ptr transport); - bool outgoing(mutable_message_ptr message); + bool outgoing(message_ptr message); void incoming(message_ptr message); void processOpenMessage(message_ptr message); diff --git a/include/rtc/message.hpp b/include/rtc/message.hpp index e1396d1..a7394e7 100644 --- a/include/rtc/message.hpp +++ b/include/rtc/message.hpp @@ -42,8 +42,7 @@ struct Message : binary { std::shared_ptr reliability; }; -using message_ptr = std::shared_ptr; -using mutable_message_ptr = std::shared_ptr; +using message_ptr = std::shared_ptr; using message_callback = std::function; constexpr auto message_size_func = [](const message_ptr &m) -> size_t { diff --git a/include/rtc/websocket.hpp b/include/rtc/websocket.hpp index acb7d6e..e5ce691 100644 --- a/include/rtc/websocket.hpp +++ b/include/rtc/websocket.hpp @@ -68,7 +68,7 @@ public: private: bool changeState(State state); void remoteClose(); - bool outgoing(mutable_message_ptr message); + bool outgoing(message_ptr message); void incoming(message_ptr message); std::shared_ptr initTcpTransport(); diff --git a/src/datachannel.cpp b/src/datachannel.cpp index c0eea20..7779bec 100644 --- a/src/datachannel.cpp +++ b/src/datachannel.cpp @@ -196,7 +196,7 @@ void DataChannel::open(shared_ptr transport) { transport->send(make_message(buffer.begin(), buffer.end(), Message::Control, mStream)); } -bool DataChannel::outgoing(mutable_message_ptr message) { +bool DataChannel::outgoing(message_ptr message) { if (mIsClosed) throw std::runtime_error("DataChannel is closed"); diff --git a/src/dtlstransport.hpp b/src/dtlstransport.hpp index 196bbd4..0472c8c 100644 --- a/src/dtlstransport.hpp +++ b/src/dtlstransport.hpp @@ -55,7 +55,7 @@ public: virtual bool stop() override; virtual bool send(message_ptr message) override; // false if dropped -private: +protected: virtual void incoming(message_ptr message) override; void runRecvLoop(); diff --git a/src/websocket.cpp b/src/websocket.cpp index fc4ae70..b73ff1f 100644 --- a/src/websocket.cpp +++ b/src/websocket.cpp @@ -127,7 +127,7 @@ size_t WebSocket::availableAmount() const { return mRecvQueue.amount(); } bool WebSocket::changeState(State state) { return mState.exchange(state) != state; } -bool WebSocket::outgoing(mutable_message_ptr message) { +bool WebSocket::outgoing(message_ptr message) { if (mState != State::Open || !mWsTransport) throw std::runtime_error("WebSocket is not open"); diff --git a/src/wstransport.cpp b/src/wstransport.cpp index 0537916..74fb90b 100644 --- a/src/wstransport.cpp +++ b/src/wstransport.cpp @@ -75,14 +75,6 @@ bool WsTransport::stop() { } bool WsTransport::send(message_ptr message) { - if (!message) - return false; - - // Call the mutable message overload with a copy - return send(std::make_shared(*message)); -} - -bool WsTransport::send(mutable_message_ptr message) { if (!message || state() != State::Connected) return false; diff --git a/src/wstransport.hpp b/src/wstransport.hpp index 82903d4..5397a28 100644 --- a/src/wstransport.hpp +++ b/src/wstransport.hpp @@ -37,7 +37,6 @@ public: bool stop() override; bool send(message_ptr message) override; - bool send(mutable_message_ptr message); void incoming(message_ptr message) override;