19 #ifndef INCLUDE_RCF_IPSERVERTRANSPORT_HPP
20 #define INCLUDE_RCF_IPSERVERTRANSPORT_HPP
25 #include <RCF/Export.hpp>
26 #include <RCF/IpAddress.hpp>
27 #include <RCF/ThreadLibrary.hpp>
28 #include <RCF/Tools.hpp>
29 #include <RCF/util/Platform/OS/BsdSockets.hpp>
34 typedef std::pair<IpAddress, std::size_t> IpRule;
36 class RCF_EXPORT IpServerTransport
40 virtual ~IpServerTransport();
42 bool isIpAllowed(
const IpAddress &ip)
const;
45 const std::vector<IpRule> &allowedIps);
48 const std::vector<IpRule> &allowedIps);
56 virtual int getPort()
const = 0;
60 mutable ReadWriteMutex mReadWriteMutex;
61 std::vector<IpRule> mAllowedIps;
62 std::vector<IpRule> mDisallowedIps;
67 #endif // ! INCLUDE_RCF_IPSERVERTRANSPORT_HPP