@@ -66,7 +66,7 @@ public:
private:
void remoteClose();
void open(std::shared_ptr<SctpTransport> transport);
- bool outgoing(mutable_message_ptr message);
+ bool outgoing(message_ptr message);
void incoming(message_ptr message);
void processOpenMessage(message_ptr message);
@@ -42,8 +42,7 @@ struct Message : binary {
std::shared_ptr<Reliability> reliability;
};
-using message_ptr = std::shared_ptr<const Message>;
-using mutable_message_ptr = std::shared_ptr<Message>;
+using message_ptr = std::shared_ptr<Message>;
using message_callback = std::function<void(message_ptr message)>;
constexpr auto message_size_func = [](const message_ptr &m) -> size_t {
@@ -68,7 +68,7 @@ public:
bool changeState(State state);
std::shared_ptr<TcpTransport> initTcpTransport();
@@ -196,7 +196,7 @@ void DataChannel::open(shared_ptr<SctpTransport> 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");
@@ -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();
@@ -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");
@@ -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>(*message));
-}
-bool WsTransport::send(mutable_message_ptr message) {
if (!message || state() != State::Connected)
return false;
@@ -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;