nl::Inet::TunEndPoint

#include <src/inet/TunEndPoint.h>

Các đối tượng của lớp này đại diện cho giao diện đường hầm.

Tóm tắt

Lớp Nest Inet đóng gói các phương thức tương tác trên cả hệ thống POSIX và hệ thống LwIP với cơ chế tạo đường hầm IP trong IP để hỗ trợ tác nhân đường hầm Weave.

Tính kế thừa

Kế thừa từ: nl::Inet::EndPointBasis

Loại công khai

@11 enum
Trạng thái động cơ bản của đường hầm bên dưới.
OnPacketReceivedFunct)(TunEndPoint *endPoint, Weave::System::PacketBuffer *message) typedef
void(*
Loại trình xử lý sự kiện nhận gói.
OnReceiveErrorFunct)(TunEndPoint *endPoint, INET_ERROR err) typedef
void(*
Loại trình xử lý sự kiện lỗi.
RouteOp{
  kRouteTunIntf_Add = 0,
  kRouteTunIntf_Del = 1
}
enum
Thao tác khi thiết lập định tuyến đến giao diện đường hầm.
RouteOp typedef
Thao tác khi thiết lập định tuyến đến giao diện đường hầm.

Các thuộc tính công khai

OnPacketReceived
Gói của điểm cuối nhận được uỷ quyền của trình xử lý sự kiện.
OnReceiveError
mAppState
void *
Con trỏ đến đối tượng trạng thái dành riêng cho ứng dụng.
mState
enum nl::Inet::TunEndPoint::@11
Trạng thái động cơ bản của đường hầm bên dưới.

Hàm công khai

Free(void)
void
Đóng đường hầm và thả tay cầm trên đối tượng.
GetTunnelInterfaceId(void)
InterfaceId
Lấy giá trị nhận dạng giao diện đường hầm.
Init(InetLayer *inetLayer)
void
Khởi động đối tượng Tunnel EndPoint.
InterfaceDown(void)
Vô hiệu hoá giao diện đường hầm.
InterfaceUp(void)
Kích hoạt giao diện đường hầm.
IsInterfaceUp(void) const
bool
Trích xuất trạng thái kích hoạt của giao diện đường hầm.
Open(void)
Mở một giao diện giả của đường hầm và tạo một xử lý cho giao diện đó.
Open(const char *intfName)
Send(Weave::System::PacketBuffer *message)
Gửi một gói IPv6 tới thiết bị tun sẽ được gửi đi.

Loại công khai

@11

 @11

Trạng thái động cơ bản của đường hầm bên dưới.

Các đối tượng được khởi tạo trong khung thời gian "open" hãy chuyển sang trạng thái "đã đóng" trạng thái khi chúng đã sẵn sàng được tái chế.

OnPacketReceivedFunct

void(* OnPacketReceivedFunct)(TunEndPoint *endPoint, Weave::System::PacketBuffer *message)

Loại trình xử lý sự kiện nhận gói.

Kiểu uỷ quyền cho lớp cao hơn để hoạt động khi nhận được gói IPv6 từ đường hầm.

Chi tiết
Tham số
[in] endPoint
Con trỏ trỏ đến đối tượng TunEndPoint.
[in] message
Con trỏ trỏ đến đối tượng thông báo Weave::System::PacketBuffer.

OnReceiveErrorFunct

void(* OnReceiveErrorFunct)(TunEndPoint *endPoint, INET_ERROR err)

Loại trình xử lý sự kiện lỗi.

Kiểu uỷ quyền cho lớp cao hơn để hành động khi xử lý lỗi gói tin IPv6 từ đường hầm.

Chi tiết
Tham số
[in] endPoint
Đối tượng TunEndPoint.
[in] err
Đã báo cáo mã lỗi.

RouteOp

 RouteOp

Thao tác khi thiết lập định tuyến đến giao diện đường hầm.

Các giá trị thuộc loại liệt kê này được dùng khi thiết lập tuyến đường cho đường hầm được đóng gói.

Thuộc tính
kRouteTunIntf_Add

Thêm tuyến đường cho một tiền tố.

kRouteTunIntf_Del

Hãy xoá tuyến đường cho một tiền tố.

RouteOp

enum nl::Inet::TunEndPoint::RouteOp RouteOp

Thao tác khi thiết lập định tuyến đến giao diện đường hầm.

Các giá trị thuộc loại liệt kê này được dùng khi thiết lập tuyến đường cho đường hầm được đóng gói.

Các thuộc tính công khai

OnPacketReceived

OnPacketReceivedFunct OnPacketReceived

Gói của điểm cuối nhận được uỷ quyền của trình xử lý sự kiện.

OnReceiveError

OnReceiveErrorFunct OnReceiveError

mAppState

void * mAppState

Con trỏ đến đối tượng trạng thái dành riêng cho ứng dụng.

mState

enum nl::Inet::TunEndPoint::@11 mState

Trạng thái động cơ bản của đường hầm bên dưới.

Các đối tượng được khởi tạo trong khung thời gian "open" hãy chuyển sang trạng thái "đã đóng" trạng thái khi chúng đã sẵn sàng được tái chế.

Hàm công khai

Miễn phí

void Free(
  void
)

Đóng đường hầm và thả tay cầm trên đối tượng.

Đóng thiết bị giao diện giả của đường hầm và giảm số lượng tham chiếu của đối tượng InetLayer.

GetTunnelInterfaceId

InterfaceId GetTunnelInterfaceId(
  void
)

Lấy giá trị nhận dạng giao diện đường hầm.

Chi tiết
Trả về
Giá trị nhận dạng giao diện đường hầm.

Init

void Init(
  InetLayer *inetLayer
)

Khởi động đối tượng Tunnel EndPoint.

Chi tiết
Tham số
[in] inetLayer
Con trỏ trỏ tới đối tượng lớp Inet đã tạo Tunnel EndPoint.

InterfaceDown

INET_ERROR InterfaceDown(
  void
)

Vô hiệu hoá giao diện đường hầm.

Chi tiết
Giá trị trả về
INET_NO_ERROR
thành công: giao diện đường hầm bị vô hiệu hoá.
other
lỗi hệ thống hoặc nền tảng khác

InterfaceUp

INET_ERROR InterfaceUp(
  void
)

Kích hoạt giao diện đường hầm.

Chi tiết
Giá trị trả về
INET_NO_ERROR
thành công: giao diện đường hầm được kích hoạt.
other
lỗi hệ thống hoặc nền tảng khác

IsInterfaceUp

bool IsInterfaceUp(
  void
) const 

Trích xuất trạng thái kích hoạt của giao diện đường hầm.

Chi tiết
Trả về
true nếu giao diện đường hầm đang hoạt động, nếu không thì false.

Đang mở

INET_ERROR Open(
  void
)

Mở một giao diện giả của đường hầm và tạo một xử lý cho giao diện đó.

Chi tiết
Trả về
INET_NO_ERROR khi thành công, nếu không thì là lỗi hệ điều hành được ánh xạ INET tương ứng.

Đang mở

INET_ERROR Open(
  const char *intfName
)

Gửi

INET_ERROR Send(
  Weave::System::PacketBuffer *message
)

Gửi một gói IPv6 tới thiết bị tun sẽ được gửi đi.

Chi tiết
Tham số
[in] message
gói IPv6 cần gửi.
Giá trị trả về
INET_NO_ERROR
thành công: gói được đóng gói và xếp hàng để gửi
INET_ERROR_NOT_SUPPORTED
gói không phải IP phiên bản 6
INET_ERROR_BAD_ARGS
message là con trỏ NULL