diff options
| author | Stefan Boberg <[email protected]> | 2023-12-05 08:51:53 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-12-05 08:51:53 +0100 |
| commit | 0b9d89f5beb889c1785a8f22b586c59bcca0b3ea (patch) | |
| tree | b0359fb51b002b28d9b480813d308cc93c1e220f /src/zenhttp/transports | |
| parent | 0.2.36-pre3 (diff) | |
| download | zen-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.cpp | 20 | ||||
| -rw-r--r-- | src/zenhttp/transports/dlltransport.cpp | 82 | ||||
| -rw-r--r-- | src/zenhttp/transports/winsocktransport.cpp | 32 |
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* |