diff --git a/ntcore/src/main/native/cpp/net/WebSocketConnection.h b/ntcore/src/main/native/cpp/net/WebSocketConnection.h index fc5cfe9833..68102949e5 100644 --- a/ntcore/src/main/native/cpp/net/WebSocketConnection.h +++ b/ntcore/src/main/native/cpp/net/WebSocketConnection.h @@ -12,6 +12,7 @@ #include #include #include +#include #include "WireConnection.h" @@ -58,6 +59,9 @@ class WebSocketConnection final return m_ws.GetLastReceivedTime(); } + void StopRead() final { m_ws.GetStream().StopRead(); } + void StartRead() final { m_ws.GetStream().StartRead(); } + void Disconnect(std::string_view reason) final; std::string_view GetDisconnectReason() const { return m_reason; } diff --git a/ntcore/src/main/native/cpp/net/WireConnection.h b/ntcore/src/main/native/cpp/net/WireConnection.h index c1efaff2f8..a6ca1df1a3 100644 --- a/ntcore/src/main/native/cpp/net/WireConnection.h +++ b/ntcore/src/main/native/cpp/net/WireConnection.h @@ -54,6 +54,9 @@ class WireConnection { // Gets the timestamp of the last incoming data virtual uint64_t GetLastReceivedTime() const = 0; // in microseconds + virtual void StopRead() = 0; + virtual void StartRead() = 0; + virtual void Disconnect(std::string_view reason) = 0; }; diff --git a/ntcore/src/main/native/cpp/net3/UvStreamConnection3.h b/ntcore/src/main/native/cpp/net3/UvStreamConnection3.h index 35eef02fd5..a27e04ada2 100644 --- a/ntcore/src/main/native/cpp/net3/UvStreamConnection3.h +++ b/ntcore/src/main/native/cpp/net3/UvStreamConnection3.h @@ -12,6 +12,7 @@ #include #include #include +#include #include "net3/WireConnection3.h" @@ -40,6 +41,9 @@ class UvStreamConnection3 final uint64_t GetLastFlushTime() const final { return m_lastFlushTime; } + void StopRead() final { m_stream.StopRead(); } + void StartRead() final { m_stream.StartRead(); } + void Disconnect(std::string_view reason) final; std::string_view GetDisconnectReason() const { return m_reason; } diff --git a/ntcore/src/main/native/cpp/net3/WireConnection3.h b/ntcore/src/main/native/cpp/net3/WireConnection3.h index 0bb26f6886..0d62c8fc89 100644 --- a/ntcore/src/main/native/cpp/net3/WireConnection3.h +++ b/ntcore/src/main/native/cpp/net3/WireConnection3.h @@ -30,6 +30,9 @@ class WireConnection3 { virtual uint64_t GetLastFlushTime() const = 0; // in microseconds + virtual void StopRead() = 0; + virtual void StartRead() = 0; + virtual void Disconnect(std::string_view reason) = 0; protected: diff --git a/ntcore/src/test/native/cpp/net/MockWireConnection.h b/ntcore/src/test/native/cpp/net/MockWireConnection.h index cc2d19b171..60d446fa88 100644 --- a/ntcore/src/test/native/cpp/net/MockWireConnection.h +++ b/ntcore/src/test/native/cpp/net/MockWireConnection.h @@ -65,6 +65,9 @@ class MockWireConnection : public WireConnection { MOCK_METHOD(uint64_t, GetLastFlushTime, (), (const, override)); MOCK_METHOD(uint64_t, GetLastReceivedTime, (), (const, override)); + MOCK_METHOD(void, StopRead, (), (override)); + MOCK_METHOD(void, StartRead, (), (override)); + MOCK_METHOD(void, Disconnect, (std::string_view reason), (override)); }; diff --git a/ntcore/src/test/native/cpp/net3/MockWireConnection3.h b/ntcore/src/test/native/cpp/net3/MockWireConnection3.h index 50fc80cbbb..f788df1b52 100644 --- a/ntcore/src/test/native/cpp/net3/MockWireConnection3.h +++ b/ntcore/src/test/native/cpp/net3/MockWireConnection3.h @@ -30,6 +30,9 @@ class MockWireConnection3 : public WireConnection3 { MOCK_METHOD(uint64_t, GetLastFlushTime, (), (const, override)); + MOCK_METHOD(void, StopRead, (), (override)); + MOCK_METHOD(void, StartRead, (), (override)); + MOCK_METHOD(void, Disconnect, (std::string_view reason), (override)); protected: