Coverage Report

Created: 2023-11-12 09:30

/proc/self/cwd/source/common/network/matching/data_impl.h
Line
Count
Source (jump to first uncovered line)
1
#pragma once
2
3
#include "envoy/network/filter.h"
4
5
namespace Envoy {
6
namespace Network {
7
namespace Matching {
8
9
/**
10
 * Implementation of Network::MatchingData, providing connection-level data to
11
 * the match tree.
12
 */
13
class MatchingDataImpl : public MatchingData {
14
public:
15
  explicit MatchingDataImpl(const ConnectionSocket& socket,
16
                            const StreamInfo::FilterState& filter_state,
17
                            const envoy::config::core::v3::Metadata& dynamic_metadata)
18
0
      : socket_(socket), filter_state_(filter_state), dynamic_metadata_(dynamic_metadata) {}
19
0
  const ConnectionSocket& socket() const override { return socket_; }
20
0
  const StreamInfo::FilterState& filterState() const override { return filter_state_; }
21
0
  const envoy::config::core::v3::Metadata& dynamicMetadata() const override {
22
0
    return dynamic_metadata_;
23
0
  }
24
25
private:
26
  const ConnectionSocket& socket_;
27
  const StreamInfo::FilterState& filter_state_;
28
  const envoy::config::core::v3::Metadata& dynamic_metadata_;
29
};
30
31
/**
32
 * Implementation of Network::UdpMatchingData, providing UDP data to the match tree.
33
 */
34
class UdpMatchingDataImpl : public UdpMatchingData {
35
public:
36
  UdpMatchingDataImpl(const Address::Instance& local_address,
37
                      const Address::Instance& remote_address)
38
0
      : local_address_(local_address), remote_address_(remote_address) {}
39
0
  const Address::Instance& localAddress() const override { return local_address_; }
40
0
  const Address::Instance& remoteAddress() const override { return remote_address_; }
41
42
private:
43
  const Address::Instance& local_address_;
44
  const Address::Instance& remote_address_;
45
};
46
47
} // namespace Matching
48
} // namespace Network
49
} // namespace Envoy