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

          Line data    Source code
       1             : #pragma once
       2             : 
       3             : #include "envoy/network/io_handle.h"
       4             : 
       5             : #include "source/common/common/logger.h"
       6             : 
       7             : namespace Envoy {
       8             : namespace Network {
       9             : 
      10             : /**
      11             :  * IoHandle derivative for sockets.
      12             :  */
      13             : class IoSocketHandleBaseImpl : public IoHandle, protected Logger::Loggable<Logger::Id::io> {
      14             : public:
      15             :   IoSocketHandleBaseImpl(os_fd_t fd = INVALID_SOCKET, bool socket_v6only = false,
      16             :                          absl::optional<int> domain = absl::nullopt);
      17             :   ~IoSocketHandleBaseImpl() override;
      18             : 
      19             :   // TODO(sbelair2)  To be removed when the fd is fully abstracted from clients.
      20           0 :   os_fd_t fdDoNotUse() const override { return fd_; }
      21             :   bool isOpen() const override;
      22             :   bool supportsMmsg() const override;
      23             :   bool supportsUdpGro() const override;
      24             :   Api::SysCallIntResult setOption(int level, int optname, const void* optval,
      25             :                                   socklen_t optlen) override;
      26             :   Api::SysCallIntResult getOption(int level, int optname, void* optval, socklen_t* optlen) override;
      27             :   Api::SysCallIntResult ioctl(unsigned long, void*, unsigned long, void*, unsigned long,
      28             :                               unsigned long*) override;
      29             :   Api::SysCallIntResult setBlocking(bool blocking) override;
      30             :   absl::optional<int> domain() override;
      31             :   Address::InstanceConstSharedPtr localAddress() override;
      32             :   Address::InstanceConstSharedPtr peerAddress() override;
      33             :   absl::optional<std::chrono::milliseconds> lastRoundTripTime() override;
      34             :   absl::optional<uint64_t> congestionWindowInBytes() const override;
      35             :   absl::optional<std::string> interfaceName() override;
      36             : 
      37             : protected:
      38             :   os_fd_t fd_;
      39             :   int socket_v6only_;
      40             :   const absl::optional<int> domain_;
      41             : };
      42             : 
      43             : } // namespace Network
      44             : } // namespace Envoy

Generated by: LCOV version 1.15