nl:: Inet:: InterfaceAddressIterator
#include <src/inet/InetInterface.h>
Biến lặp cho danh sách địa chỉ IP giao diện mạng hệ thống.
Tóm tắt
Dùng các đối tượng của lớp này để lặp lại danh sách địa chỉ IP giao diện mạng của hệ thống.
Các phương thức trên một thực thể riêng của lớp này không an toàn theo chuỗi. Tuy nhiên, nhiều thực thể riêng biệt có thể được sử dụng đồng thời bằng nhiều luồng.
Trên hệ thống LwIP nhiều luồng, các thực thể là an toàn theo luồng so với các luồng khác truy cập vào trạng thái LwIP toàn cầu, miễn là: 1) các luồng khác giữ khóa lõi LwIP trong khi thay đổi danh sách netif; và 2) bản thân đối tượng netif không bao giờ bị hủy bỏ.
Trên các hệ thống dựa trên cổng, quá trình lặp lại luôn ổn định khi có thay đổi đối với giao diện và/hoặc địa chỉ của hệ thống cơ bản.
Trên hệ thống LwIP, quá trình lặp lại diễn ra ổn định, trừ trường hợp giao diện liên kết với địa chỉ hiện tại bị xóa. Trong trường hợp này, quá trình lặp lại có thể kết thúc sớm.
Hàm dựng và hàm phá hủy |
|
---|---|
InterfaceAddressIterator(void)
Tạo đối tượng InterfaceAddressIterator.
|
|
~InterfaceAddressIterator(void)
Hủy bỏ đối tượng InterfaceAddressIterator.
|
Hàm công khai |
|
---|---|
GetAddress(void)
|
Lấy địa chỉ giao diện hiện tại.
|
GetAddressWithPrefix(IPPrefix & addrWithPrefix)
|
void
Trả về Tiền tố IP chứa địa chỉ và độ dài tiền tố cho địa chỉ hiện tại.
|
GetIPv6PrefixLength(void)
|
uint8_t
Bí danh không được dùng nữa cho
GetPrefixLength(void) |
GetInterface(void)
|
InterfaceId
Bí danh không được dùng nữa cho
GetInterfaceId(void) |
GetInterfaceId(void)
|
InterfaceId
Trả về mã giao diện mạng liên kết với địa chỉ giao diện hiện tại.
|
GetInterfaceName(char *nameBuf, size_t nameBufSize)
|
Lấy tên của giao diện mạng liên kết với địa chỉ giao diện hiện tại.
|
GetPrefixLength(void)
|
uint8_t
Lấy tiền tố mạng liên kết với địa chỉ giao diện hiện tại.
|
HasBroadcastAddress(void)
|
bool
Trả về liệu giao diện mạng liên kết với địa chỉ giao diện hiện tại có địa chỉ phát sóng IPv4 hay không.
|
HasCurrent(void)
|
bool
|
IsUp(void)
|
bool
Trả về việc giao diện mạng liên kết với địa chỉ giao diện hiện tại có hoạt động hay không.
|
Next(void)
|
bool
Chuyển trình lặp đến địa chỉ giao diện tiếp theo.
|
SupportsMulticast(void)
|
bool
Trả về liệu giao diện mạng liên kết với địa chỉ giao diện hiện tại có hỗ trợ tính năng phát đa hướng hay không.
|
Hàm công khai
Get Địa chỉ
IPAddress GetAddress( void )
Lấy địa chỉ giao diện hiện tại.
Thông tin chi tiết | |
---|---|
Trả về |
địa chỉ giao diện hiện tại hoặc
IPAddress::Any nếu biến lặp nằm ngoài cuối danh sách địa chỉ. |
GetAddressWithprefix
void GetAddressWithPrefix( IPPrefix & addrWithPrefix )
Trả về Tiền tố IP chứa địa chỉ và độ dài tiền tố cho địa chỉ hiện tại.
GetIPv6prefixLength
uint8_t GetIPv6PrefixLength( void )
Bí danh không được dùng nữa cho GetPrefixLength(void)
Nhận giao diện
InterfaceId GetInterfaceId( void )
Trả về mã giao diện mạng liên kết với địa chỉ giao diện hiện tại.
Thông tin chi tiết | |
---|---|
Trả về |
id giao diện hoặc
INET_NULL_INTERFACEID nếu biến lặp nằm ngoài cuối danh sách địa chỉ. |
Tên giao diện
INET_ERROR GetInterfaceName( char *nameBuf, size_t nameBufSize )
Lấy tên của giao diện mạng liên kết với địa chỉ giao diện hiện tại.
Writes the name of the network interface as \c NUL terminated text string at \c nameBuf.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Các thông số |
|
||||||||
Giá trị trả về |
|
GetTiềnLength
uint8_t GetPrefixLength( void )
Lấy tiền tố mạng liên kết với địa chỉ giao diện hiện tại.
On LwIP, this method simply returns the hard-coded constant 64. Note Well: the standard subnet prefix on all links other than PPP links is 64 bits. On PPP links and some non-broadcast multipoint access links, the convention is either 127 bits or 128 bits, but it might be something else. On most platforms, the system's interface address structure can represent arbitrary prefix lengths between 0 and 128.
Thông tin chi tiết | |
---|---|
Trả về |
tiền tố mạng (tính bằng bit) hoặc 0 nếu biến lặp nằm ngoài cuối danh sách địa chỉ.
|
Địa chỉ phát sóng
bool HasBroadcastAddress( void )
Trả về liệu giao diện mạng liên kết với địa chỉ giao diện hiện tại có địa chỉ phát sóng IPv4 hay không.
Thông tin chi tiết | |
---|---|
Trả về |
true nếu giao diện có địa chỉ phát, false nếu không, hoặc nếu biến lặp không được định vị trên địa chỉ giao diện. |
Có dòng điện
bool HasCurrent( void )
Giao diện địa chỉ giao diện
InterfaceAddressIterator( void )
Tạo đối tượng InterfaceAddressIterator.
Bắt đầu lặp lại ở địa chỉ mạng đầu tiên. Trên một số nền tảng, hàm dựng này có thể phân bổ các tài nguyên do trình hủy bỏ tái chế.
Là
bool IsUp( void )
Trả về việc giao diện mạng liên kết với địa chỉ giao diện hiện tại có hoạt động hay không.
Thông tin chi tiết | |
---|---|
Trả về |
true nếu giao diện mạng hiện tại hoạt động, false nếu không hoặc nếu biến lặp không được đặt trên địa chỉ giao diện. |
Tiếp
bool Next( void )
Chuyển trình lặp đến địa chỉ giao diện tiếp theo.
Advances the iterator to the next interface address or to a position beyond the end of the address list. On LwIP, this method is thread-safe provided that: 1) other threads hold the LwIP core lock while mutating the netif list; and 2) netif objects themselves are never destroyed. Additionally, iteration on LwIP systems will terminate early if the current interface is removed from the list.
Thông tin chi tiết | |
---|---|
Trả về |
false nếu nâng cao ngoài cuối, nếu không thì true . |
Hỗ trợ Multicast
bool SupportsMulticast( void )
Trả về liệu giao diện mạng liên kết với địa chỉ giao diện hiện tại có hỗ trợ tính năng phát đa hướng hay không.
Thông tin chi tiết | |
---|---|
Trả về |
true nếu hỗ trợ đa hướng, false nếu không hoặc nếu biến lặp không được đặt trên địa chỉ giao diện. |
~InterfaceaddressIterator
~InterfaceAddressIterator( void )
Hủy bỏ đối tượng InterfaceAddressIterator.
Tái chế mọi tài nguyên do hàm dựng phân bổ.