Lines Matching refs:SocketAddress
23 class SocketAddress : public MemoryRetainer {
33 size_t operator()(const SocketAddress& addr) const;
36 inline bool operator==(const SocketAddress& other) const;
37 inline bool operator!=(const SocketAddress& other) const;
39 inline bool operator<(const SocketAddress& other) const;
40 inline bool operator>(const SocketAddress& other) const;
41 inline bool operator<=(const SocketAddress& other) const;
42 inline bool operator>=(const SocketAddress& other) const;
59 SocketAddress* addr);
64 SocketAddress* addr);
78 SocketAddress() = default;
80 inline explicit SocketAddress(const sockaddr* addr);
81 inline SocketAddress(const SocketAddress& addr);
82 inline SocketAddress& operator=(const sockaddr* other);
83 inline SocketAddress& operator=(const SocketAddress& other);
97 // Returns true if the given other SocketAddress is a match
102 bool is_match(const SocketAddress& other) const;
104 // Compares this SocketAddress to the given other SocketAddress.
105 CompareResult compare(const SocketAddress& other) const;
107 // Returns true if this SocketAddress is within the subnet
109 bool is_in_network(const SocketAddress& network, int prefix) const;
111 // If the SocketAddress is an IPv6 address, returns the
116 // If the SocketAddress is an IPv6 address, sets the
129 static SocketAddress FromSockName(const uv_udp_t& handle);
130 static SocketAddress FromSockName(const uv_tcp_t& handle);
131 static SocketAddress FromPeerName(const uv_udp_t& handle);
132 static SocketAddress FromPeerName(const uv_tcp_t& handle);
141 SET_MEMORY_INFO_NAME(SocketAddress)
142 SET_SELF_SIZE(SocketAddress)
145 using Map = std::unordered_map<SocketAddress, T, Hash>;
159 std::shared_ptr<SocketAddress> address);
169 std::shared_ptr<SocketAddress> address);
171 inline const std::shared_ptr<SocketAddress>& address() const {
189 inline explicit TransferData(std::shared_ptr<SocketAddress> address)
202 std::shared_ptr<SocketAddress> address_;
206 std::shared_ptr<SocketAddress> address_;
220 Type* Upsert(const SocketAddress& address);
224 Type* Peek(const SocketAddress& address) const;
234 using Pair = std::pair<SocketAddress, Type>;
240 SocketAddress::Map<Iterator> map_;
245 // SocketAddress should be accepted for inbound or
253 void AddSocketAddress(const std::shared_ptr<SocketAddress>& address);
255 void RemoveSocketAddress(const std::shared_ptr<SocketAddress>& address);
258 const std::shared_ptr<SocketAddress>& start,
259 const std::shared_ptr<SocketAddress>& end);
262 const std::shared_ptr<SocketAddress>& address,
265 bool Apply(const std::shared_ptr<SocketAddress>& address);
272 virtual bool Apply(const std::shared_ptr<SocketAddress>& address) = 0;
278 std::shared_ptr<SocketAddress> address;
280 explicit SocketAddressRule(const std::shared_ptr<SocketAddress>& address);
282 bool Apply(const std::shared_ptr<SocketAddress>& address) override;
291 std::shared_ptr<SocketAddress> start;
292 std::shared_ptr<SocketAddress> end;
295 const std::shared_ptr<SocketAddress>& start,
296 const std::shared_ptr<SocketAddress>& end);
298 bool Apply(const std::shared_ptr<SocketAddress>& address) override;
307 std::shared_ptr<SocketAddress> network;
311 const std::shared_ptr<SocketAddress>& address,
314 bool Apply(const std::shared_ptr<SocketAddress>& address) override;
333 SocketAddress::Map<std::list<std::unique_ptr<Rule>>::iterator> address_rules_;