LCOV - code coverage report
Current view: top level - source/common/network - raw_buffer_socket.h (source / functions) Hit Total Coverage
Test: coverage.dat Lines: 4 7 57.1 %
Date: 2024-01-05 06:35:25 Functions: 4 7 57.1 %

          Line data    Source code
       1             : #pragma once
       2             : 
       3             : #include "envoy/buffer/buffer.h"
       4             : #include "envoy/network/connection.h"
       5             : #include "envoy/network/transport_socket.h"
       6             : 
       7             : #include "source/common/common/logger.h"
       8             : #include "source/common/network/transport_socket_options_impl.h"
       9             : 
      10             : namespace Envoy {
      11             : namespace Network {
      12             : 
      13             : class RawBufferSocket : public TransportSocket, protected Logger::Loggable<Logger::Id::connection> {
      14             : public:
      15             :   // Network::TransportSocket
      16             :   void setTransportSocketCallbacks(TransportSocketCallbacks& callbacks) override;
      17             :   std::string protocol() const override;
      18             :   absl::string_view failureReason() const override;
      19         498 :   bool canFlushClose() override { return true; }
      20        2370 :   void closeSocket(Network::ConnectionEvent) override {}
      21             :   void onConnected() override;
      22             :   IoResult doRead(Buffer::Instance& buffer) override;
      23             :   IoResult doWrite(Buffer::Instance& buffer, bool end_stream) override;
      24        2370 :   Ssl::ConnectionInfoConstSharedPtr ssl() const override { return nullptr; }
      25           0 :   bool startSecureTransport() override { return false; }
      26           0 :   void configureInitialCongestionWindow(uint64_t, std::chrono::microseconds) override {}
      27             : 
      28             : protected:
      29           0 :   TransportSocketCallbacks* transportSocketCallbacks() const { return callbacks_; };
      30             : 
      31             : private:
      32             :   bool shutdown_{};
      33             :   TransportSocketCallbacks* callbacks_{};
      34             : };
      35             : 
      36             : class RawBufferSocketFactory : public DownstreamTransportSocketFactory,
      37             :                                public CommonUpstreamTransportSocketFactory {
      38             : public:
      39             :   // Network::UpstreamTransportSocketFactory
      40             :   TransportSocketPtr createTransportSocket(TransportSocketOptionsConstSharedPtr,
      41             :                                            Upstream::HostDescriptionConstSharedPtr) const override;
      42             :   bool implementsSecureTransport() const override;
      43         173 :   absl::string_view defaultServerNameIndication() const override { return ""; }
      44             :   // Network::DownstreamTransportSocketFactory
      45             :   TransportSocketPtr createDownstreamTransportSocket() const override;
      46             : };
      47             : 
      48             : } // namespace Network
      49             : } // namespace Envoy

Generated by: LCOV version 1.15