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

          Line data    Source code
       1             : #pragma once
       2             : 
       3             : #include "envoy/buffer/buffer.h"
       4             : #include "envoy/network/socket.h"
       5             : #include "envoy/network/udp_packet_writer_handler.h"
       6             : 
       7             : #include "source/common/network/io_socket_error_impl.h"
       8             : 
       9             : namespace Envoy {
      10             : namespace Network {
      11             : 
      12             : class UdpDefaultWriter : public UdpPacketWriter {
      13             : public:
      14             :   UdpDefaultWriter(Network::IoHandle& io_handle);
      15             : 
      16             :   ~UdpDefaultWriter() override;
      17             : 
      18             :   // Following writePacket utilizes Utility::writeToSocket() implementation
      19             :   Api::IoCallUint64Result writePacket(const Buffer::Instance& buffer, const Address::Ip* local_ip,
      20             :                                       const Address::Instance& peer_address) override;
      21             : 
      22           0 :   bool isWriteBlocked() const override { return write_blocked_; }
      23           0 :   void setWritable() override { write_blocked_ = false; }
      24           0 :   uint64_t getMaxPacketSize(const Address::Instance& /*peer_address*/) const override {
      25           0 :     return Network::UdpMaxOutgoingPacketSize;
      26           0 :   }
      27           0 :   bool isBatchMode() const override { return false; }
      28             :   Network::UdpPacketWriterBuffer
      29             :   getNextWriteLocation(const Address::Ip* /*local_ip*/,
      30           0 :                        const Address::Instance& /*peer_address*/) override {
      31           0 :     return {nullptr, 0, nullptr};
      32           0 :   }
      33           0 :   Api::IoCallUint64Result flush() override {
      34           0 :     return {/*rc=*/0,
      35           0 :             /*err=*/Api::IoError::none()};
      36           0 :   }
      37             : 
      38             : private:
      39             :   bool write_blocked_{false};
      40             :   Network::IoHandle& io_handle_;
      41             : };
      42             : 
      43             : class UdpDefaultWriterFactory : public Network::UdpPacketWriterFactory {
      44             : public:
      45             :   Network::UdpPacketWriterPtr createUdpPacketWriter(Network::IoHandle& io_handle,
      46           0 :                                                     Stats::Scope&) override {
      47           0 :     return std::make_unique<UdpDefaultWriter>(io_handle);
      48           0 :   }
      49             : };
      50             : 
      51             : } // namespace Network
      52             : } // namespace Envoy

Generated by: LCOV version 1.15