[ntcore] Add StopRead/StartRead to WireConnection (#7188)

This commit is contained in:
Peter Johnson
2024-10-11 10:51:12 -07:00
committed by GitHub
parent 94c62ed3ec
commit 59bc53b9b8
6 changed files with 20 additions and 0 deletions

View File

@@ -12,6 +12,7 @@
#include <wpi/function_ref.h>
#include <wpinet/WebSocket.h>
#include <wpinet/uv/Buffer.h>
#include <wpinet/uv/Stream.h>
#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; }

View File

@@ -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;
};

View File

@@ -12,6 +12,7 @@
#include <wpi/SmallVector.h>
#include <wpinet/raw_uv_ostream.h>
#include <wpinet/uv/Buffer.h>
#include <wpinet/uv/Stream.h>
#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; }

View File

@@ -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:

View File

@@ -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));
};

View File

@@ -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: