📄 nattypes.cc
字号:
#include <cassert>#include "nattypes.h"namespace utils_base {class SymmetricNAT : public NAT {public: bool IsSymmetric() { return true; } bool FiltersIP() { return true; } bool FiltersPort() { return true; }};class OpenConeNAT : public NAT {public: bool IsSymmetric() { return false; } bool FiltersIP() { return false; } bool FiltersPort() { return false; }};class AddressRestrictedNAT : public NAT {public: bool IsSymmetric() { return false; } bool FiltersIP() { return true; } bool FiltersPort() { return false; }};class PortRestrictedNAT : public NAT {public: bool IsSymmetric() { return false; } bool FiltersIP() { return true; } bool FiltersPort() { return true; }};NAT* NAT::Create(NATType type) { switch (type) { case NAT_OPEN_CONE: return new OpenConeNAT(); case NAT_ADDR_RESTRICTED: return new AddressRestrictedNAT(); case NAT_PORT_RESTRICTED: return new PortRestrictedNAT(); case NAT_SYMMETRIC: return new SymmetricNAT(); default: assert(0); return 0; }}} // namespace talk_base
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -