aboutsummaryrefslogtreecommitdiff
path: root/src/zenhttp/transports
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2023-12-05 08:51:53 +0100
committerGitHub <[email protected]>2023-12-05 08:51:53 +0100
commit0b9d89f5beb889c1785a8f22b586c59bcca0b3ea (patch)
treeb0359fb51b002b28d9b480813d308cc93c1e220f /src/zenhttp/transports
parent0.2.36-pre3 (diff)
downloadzen-0b9d89f5beb889c1785a8f22b586c59bcca0b3ea.tar.xz
zen-0b9d89f5beb889c1785a8f22b586c59bcca0b3ea.zip
HTTP plugin request debug logging (#587)
* added log level control/query to LoggerRef * added debug logging to http plugin implementation * added GetDebugName() to transport plugin interfaces * added debug name to log output
Diffstat (limited to 'src/zenhttp/transports')
-rw-r--r--src/zenhttp/transports/asiotransport.cpp20
-rw-r--r--src/zenhttp/transports/dlltransport.cpp82
-rw-r--r--src/zenhttp/transports/winsocktransport.cpp32
3 files changed, 47 insertions, 87 deletions
diff --git a/src/zenhttp/transports/asiotransport.cpp b/src/zenhttp/transports/asiotransport.cpp
index ab053a748..a9a782821 100644
--- a/src/zenhttp/transports/asiotransport.cpp
+++ b/src/zenhttp/transports/asiotransport.cpp
@@ -34,12 +34,13 @@ public:
AsioTransportPlugin();
~AsioTransportPlugin();
- virtual uint32_t AddRef() const override;
- virtual uint32_t Release() const override;
- virtual void Configure(const char* OptionTag, const char* OptionValue) override;
- virtual void Initialize(TransportServer* ServerInterface) override;
- virtual void Shutdown() override;
- virtual bool IsAvailable() override;
+ virtual uint32_t AddRef() const override;
+ virtual uint32_t Release() const override;
+ virtual void Configure(const char* OptionTag, const char* OptionValue) override;
+ virtual void Initialize(TransportServer* ServerInterface) override;
+ virtual void Shutdown() override;
+ virtual const char* GetDebugName() override { return nullptr; }
+ virtual bool IsAvailable() override;
private:
bool m_IsOk = true;
@@ -63,9 +64,10 @@ struct AsioTransportConnection : public TransportConnection, std::enable_shared_
// TransportConnectionInterface
- virtual int64_t WriteBytes(const void* Buffer, size_t DataSize) override;
- virtual void Shutdown(bool Receive, bool Transmit) override;
- virtual void CloseConnection() override;
+ virtual int64_t WriteBytes(const void* Buffer, size_t DataSize) override;
+ virtual void Shutdown(bool Receive, bool Transmit) override;
+ virtual void CloseConnection() override;
+ virtual const char* GetDebugName() override { return nullptr; }
private:
void EnqueueRead();
diff --git a/src/zenhttp/transports/dlltransport.cpp b/src/zenhttp/transports/dlltransport.cpp
index dd4479e39..e09e62ec5 100644
--- a/src/zenhttp/transports/dlltransport.cpp
+++ b/src/zenhttp/transports/dlltransport.cpp
@@ -19,69 +19,6 @@ ZEN_THIRD_PARTY_INCLUDES_END
namespace zen {
-struct DllTransportConnection : public TransportConnection
-{
-public:
- DllTransportConnection();
- ~DllTransportConnection();
-
- void Initialize(TransportServerConnection& ServerConnection);
- void HandleConnection();
-
- // TransportConnection
-
- virtual int64_t WriteBytes(const void* Buffer, size_t DataSize) override;
- virtual void Shutdown(bool Receive, bool Transmit) override;
- virtual void CloseConnection() override;
-
-private:
- Ref<TransportServerConnection> m_ConnectionHandler;
- bool m_IsTerminated = false;
-};
-
-DllTransportConnection::DllTransportConnection()
-{
-}
-
-DllTransportConnection::~DllTransportConnection()
-{
-}
-
-void
-DllTransportConnection::Initialize(TransportServerConnection& ServerConnection)
-{
- m_ConnectionHandler = &ServerConnection; // TODO: this is awkward
-}
-
-void
-DllTransportConnection::HandleConnection()
-{
-}
-
-void
-DllTransportConnection::CloseConnection()
-{
- if (m_IsTerminated)
- {
- return;
- }
-
- m_IsTerminated = true;
-}
-
-int64_t
-DllTransportConnection::WriteBytes(const void* Buffer, size_t DataSize)
-{
- ZEN_UNUSED(Buffer, DataSize);
- return DataSize;
-}
-
-void
-DllTransportConnection::Shutdown(bool Receive, bool Transmit)
-{
- ZEN_UNUSED(Receive, Transmit);
-}
-
//////////////////////////////////////////////////////////////////////////
struct LoadedDll
@@ -97,12 +34,13 @@ public:
DllTransportPluginImpl();
~DllTransportPluginImpl();
- virtual uint32_t AddRef() const override;
- virtual uint32_t Release() const override;
- virtual void Configure(const char* OptionTag, const char* OptionValue) override;
- virtual void Initialize(TransportServer* ServerInterface) override;
- virtual void Shutdown() override;
- virtual bool IsAvailable() override;
+ virtual uint32_t AddRef() const override;
+ virtual uint32_t Release() const override;
+ virtual void Configure(const char* OptionTag, const char* OptionValue) override;
+ virtual void Initialize(TransportServer* ServerInterface) override;
+ virtual void Shutdown() override;
+ virtual const char* GetDebugName() override;
+ virtual bool IsAvailable() override;
virtual void LoadDll(std::string_view Name) override;
virtual void ConfigureDll(std::string_view Name, const char* OptionTag, const char* OptionValue) override;
@@ -179,6 +117,12 @@ DllTransportPluginImpl::Shutdown()
}
}
+const char*
+DllTransportPluginImpl::GetDebugName()
+{
+ return nullptr;
+}
+
bool
DllTransportPluginImpl::IsAvailable()
{
diff --git a/src/zenhttp/transports/winsocktransport.cpp b/src/zenhttp/transports/winsocktransport.cpp
index 2397dd7cf..7407c55dd 100644
--- a/src/zenhttp/transports/winsocktransport.cpp
+++ b/src/zenhttp/transports/winsocktransport.cpp
@@ -31,9 +31,10 @@ public:
// TransportConnection
- virtual int64_t WriteBytes(const void* Buffer, size_t DataSize) override;
- virtual void Shutdown(bool Receive, bool Transmit) override;
- virtual void CloseConnection() override;
+ virtual int64_t WriteBytes(const void* Buffer, size_t DataSize) override;
+ virtual void Shutdown(bool Receive, bool Transmit) override;
+ virtual void CloseConnection() override;
+ virtual const char* GetDebugName() override;
private:
Ref<TransportServerConnection> m_ConnectionHandler;
@@ -103,6 +104,12 @@ SocketTransportConnection::CloseConnection()
m_ClientSocket = 0;
}
+const char*
+SocketTransportConnection::GetDebugName()
+{
+ return nullptr;
+}
+
int64_t
SocketTransportConnection::WriteBytes(const void* Buffer, size_t DataSize)
{
@@ -157,12 +164,13 @@ public:
SocketTransportPluginImpl();
~SocketTransportPluginImpl();
- virtual uint32_t AddRef() const override;
- virtual uint32_t Release() const override;
- virtual void Configure(const char* OptionTag, const char* OptionValue) override;
- virtual void Initialize(TransportServer* ServerInterface) override;
- virtual void Shutdown() override;
- virtual bool IsAvailable() override;
+ virtual uint32_t AddRef() const override;
+ virtual uint32_t Release() const override;
+ virtual void Configure(const char* OptionTag, const char* OptionValue) override;
+ virtual void Initialize(TransportServer* ServerInterface) override;
+ virtual void Shutdown() override;
+ virtual const char* GetDebugName() override;
+ virtual bool IsAvailable() override;
private:
TransportServer* m_ServerInterface = nullptr;
@@ -337,6 +345,12 @@ SocketTransportPluginImpl::Shutdown()
}
}
+const char*
+SocketTransportPluginImpl::GetDebugName()
+{
+ return nullptr;
+}
+
//////////////////////////////////////////////////////////////////////////
TransportPlugin*