Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Trang này được dịch bởi Cloud Translation API.
Switch to English

nl :: Inet :: InterfaceIterator

#include <src/inet/InetInterface.h>

Trình lặp lại cho danh sách các giao diện mạng hệ thống.

Tóm lược

Sử dụng các đối tượng của lớp này để lặp lại danh sách các giao diện mạng hệ thống.

Các phương thức trên một cá thể của lớp này không an toàn theo luồng; tuy nhiên các trường hợp riêng biệt có thể được sử dụng đồng thời bởi nhiều luồng.

Trên các hệ thống LwIP đa luồng, các cá thể là luồng an toàn so với các luồng khác truy cập trạng thái LwIP chung với điều kiện là các luồng khác giữ khóa lõi LwIP trong khi thay đổi danh sách các netif và bản thân đối tượng netif đó không bao giờ bị phá hủy.

Trên các hệ thống dựa trên ổ cắm, sự lặp lại luôn ổn định khi đối mặt với những thay đổi đối với các giao diện của hệ thống cơ bản.

Trên các hệ thống LwIP, quá trình lặp là ổn định ngoại trừ trường hợp giao diện đang được chọn bị xóa khỏi danh sách, trong trường hợp này, quá trình lặp kết thúc ngay lập tức.

Người xây dựng và Người phá hủy

InterfaceIterator (void)
Xây dựng một đối tượng InterfaceIterator .
~InterfaceIterator (void)
Hủy đối tượng InterfaceIterator .

Thuộc tính được bảo vệ

mCurIntf
size_t
mCurNetif
struct netif *
mIntfArray
struct if_nameindex *
mIntfFlags
short
mIntfFlagsCached
bool

Chức năng công cộng

GetInterface (void)
InterfaceId
Bí danh không được dùng nữa cho GetInterfaceId(void)
GetInterfaceId (void)
InterfaceId
Trả về id giao diện mạng ở vị trí trình lặp hiện tại.
GetInterfaceName (char *nameBuf, size_t nameBufSize)
Lấy tên của giao diện mạng hiện tại.
HasBroadcastAddress (void)
bool
Trả về giao diện mạng hiện tại có địa chỉ quảng bá hay không.
HasCurrent (void)
bool
Kiểm tra xem trình lặp có được định vị trên giao diện hay không.
IsUp (void)
bool
Trả về giao diện mạng hiện tại có được bật hay không.
Next (void)
bool
Chuyển trình lặp tới giao diện mạng tiếp theo.
SupportsMulticast (void)
bool
Trả về giao diện mạng hiện tại có hỗ trợ phát đa hướng hay không.

Các chức năng được bảo vệ

GetFlags (void)
short
Trả về giá trị ifr_flags cho giao diện hiện tại.

Thuộc tính được bảo vệ

mCurIntf

size_t mCurIntf

mCurNetif

struct netif * mCurNetif

mIntfArray

struct if_nameindex * mIntfArray

mIntfFlags

short mIntfFlags

mIntfFlagsCached

bool mIntfFlagsCached

Chức năng công cộng

GetInterface

InterfaceId GetInterface(
  void
)

Bí danh không được dùng nữa cho GetInterfaceId(void)

GetInterfaceId

InterfaceId GetInterfaceId(
  void
)

Trả về id giao diện mạng ở vị trí trình vòng lặp hiện tại.

Chi tiết
Giá trị trả lại
INET_NULL_INTERFACEID
nếu nâng cao vượt quá cuối danh sách.
id
id giao diện mạng hiện tại.

GetInterfaceName

INET_ERROR GetInterfaceName(
  char *nameBuf,
  size_t nameBufSize
)

Lấy tên của giao diện mạng hiện tại.

Writes the name of the network interface as \c NUL terminated text string
at \c nameBuf.

Chi tiết
Thông số
[in] nameBuf
vùng bộ nhớ để viết tên giao diện
[in] nameBufSize
kích thước của khu vực được biểu thị bằng nameBuf
Giá trị trả lại
INET_NO_ERROR
kết quả thành công, tên giao diện được viết
INET_ERROR_INCORRECT_STATE
trình lặp được đặt ở vị trí ngoài cuối danh sách
INET_ERROR_NO_MEMORY
tên quá lớn để được viết trong bộ đệm
other
lỗi hệ thống hoặc nền tảng khác

HasBroadcastAddress

bool HasBroadcastAddress(
  void
)

Trả về giao diện mạng hiện tại có địa chỉ quảng bá hay không.

Chi tiết
Lợi nhuận
true nếu giao diện mạng hiện tại có địa chỉ quảng bá, false nếu không, hoặc nếu trình vòng lặp được đặt ở phía ngoài cuối danh sách.

HasCurrent

bool HasCurrent(
  void
)

Kiểm tra xem trình lặp có được định vị trên giao diện hay không.

Kiểm tra xem trình lặp có được định vị trên địa chỉ giao diện hay không.

Chi tiết
Lợi nhuận
true nếu trình lặp được định vị trên giao diện; false nếu nằm ngoài cuối danh sách giao diện.
Lợi nhuận
true nếu trình lặp được định vị trên một địa chỉ giao diện; false nếu nằm ngoài phần cuối của danh sách địa chỉ.

InterfaceIterator

 InterfaceIterator(
  void
)

Xây dựng một đối tượng InterfaceIterator .

Khởi động trình vòng lặp ở giao diện mạng đầu tiên. Trên một số nền tảng, hàm tạo này có thể phân bổ tài nguyên được tái chế bởi trình hủy.

Lên

bool IsUp(
  void
)

Trả về giao diện mạng hiện tại có được bật hay không.

Chi tiết
Lợi nhuận
true nếu giao diện mạng hiện tại được thiết lập, false nếu không hoặc nếu trình vòng lặp được đặt ở phía ngoài cuối danh sách.

Kế tiếp

bool Next(
  void
)

Chuyển trình lặp tới giao diện mạng tiếp theo.

Advances the internal iterator to the next network interface or to a position
beyond the end of the interface list.

On multi-threaded LwIP systems, this method is thread-safe relative to other
threads accessing the global LwIP state provided that: 1) the other threads
hold the LwIP core lock while mutating the list of netifs; and 2) netif objects
themselves are never destroyed.

Iteration is stable in the face of changes to the underlying system's
interfaces, *except* in the case of LwIP systems when the currently selected
interface is removed from the list, which causes iteration to end immediately.

Chi tiết
Lợi nhuận
false nếu nâng cao hơn cuối, ngược lại true .

Hỗ trợ

bool SupportsMulticast(
  void
)

Trả về giao diện mạng hiện tại có hỗ trợ phát đa hướng hay không.

Chi tiết
Lợi nhuận
true nếu giao diện mạng hiện tại hỗ trợ multicast, false nếu không, hoặc nếu trình vòng lặp được đặt ở vị trí bên ngoài cuối danh sách.

~ InterfaceIterator

 ~InterfaceIterator(
  void
)

Hủy đối tượng InterfaceIterator .

Tái chế bất kỳ tài nguyên nào được phân bổ bởi phương thức khởi tạo.

Các chức năng được bảo vệ

GetFlags

short GetFlags(
  void
)

Trả về giá trị ifr_flags cho giao diện hiện tại.